Geant4  10.02.p02
CCalEcal.hh
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
27 // File: CCalEcal.hh
28 // Description: CCalEcal Geometry factory class for crystal matrix
30 #ifndef CCalEcal_h
31 #define CCalEcal_h 1
32 
33 #include "CCalDetector.hh"
34 
35 class CCalEcal: public CCalDetector {
36 public:
37  //Constructor and Destructor
39  CCalDetector(name) {}
40  virtual ~CCalEcal();
41 
42  //Get Methods
43  G4String getGenMat() const {return genMat;}
44  double getWidBox() const {return widBox;}
45  double getLengBox() const {return lengBox;}
46  double getXpos() const {return xpos;}
47  double getYpos() const {return ypos;}
48  double getZpos() const {return zpos;}
49  double getThetaX() const {return thetaX;}
50  double getPhiX() const {return phiX;}
51  double getThetaY() const {return thetaY;}
52  double getPhiY() const {return phiY;}
53  double getThetaZ() const {return thetaZ;}
54  double getPhiZ() const {return phiZ;}
55  G4String getLayMat() const {return layMat;}
56  int getLayNum() const {return layNum;}
57  double getLayRadius() const {return layRadius;}
58  double getLayAngle() const {return layAngle;}
59  double getLengFront() const {return lengFront;}
60  double getLayPar(unsigned int i) const {return layPar[i];}
61  G4String getCrystMat() const {return crystMat;}
62  int getCrystNum() const {return crystNum;}
63  double getCrystLength() const {return crystLength;}
64  double getCrystTol() const {return crystTol;}
65  double getCrystPar(unsigned int i) const {return crystPar[i];}
66  G4String getSuppMat() const {return suppMat;}
67  double getDxSupp() const {return dxSupp;}
68  double getDySupp() const {return dySupp;}
69  double getDzSupp() const {return dzSupp;}
70  double getDistSupp() const {return distSupp;}
71 
72 
73 protected:
74  virtual int readFile();
75  virtual void constructDaughters();
76 
77 private:
78  G4String genMat; //General material
79  double widBox, lengBox; //Box parameters
80  double xpos, ypos, zpos; //Translation matrix definition
81  double thetaX,phiX,thetaY,phiY,thetaZ,phiZ; //Rotation matrix definition
82  G4String layMat; //Material for the layers
83  int layNum; //Layer numbers
84  double layRadius,layAngle; //Positioning parameters
85  double lengFront; //Distance from front
86  double layPar[5]; //Layer parameters
87  G4String crystMat; //Material for the crystals
88  int crystNum; //Crystal numbers
89  double crystLength; //Crystal length
90  double crystTol; //Tolerance for position
91  double crystPar[5]; //Crystal parameters
92  G4String suppMat; //Material of support system
93  double dxSupp, dySupp, dzSupp; //Dimension of support material
94  double distSupp; //Separation of support material
95 };
96 
97 #endif
98 
99 
100 
101 
102 
103 
104 
105 
106 
107 
108 
109 
110 
111 
112 
113 
int crystNum
Definition: CCalEcal.hh:88
double thetaY
Definition: CCalEcal.hh:81
double getDzSupp() const
Definition: CCalEcal.hh:69
double crystLength
Definition: CCalEcal.hh:89
double getPhiX() const
Definition: CCalEcal.hh:50
double getXpos() const
Definition: CCalEcal.hh:46
double xpos
Definition: CCalEcal.hh:80
int layNum
Definition: CCalEcal.hh:83
double dySupp
Definition: CCalEcal.hh:93
double crystPar[5]
Definition: CCalEcal.hh:91
double getDistSupp() const
Definition: CCalEcal.hh:70
double getPhiY() const
Definition: CCalEcal.hh:52
G4String name
Definition: TRTMaterials.hh:40
double getDxSupp() const
Definition: CCalEcal.hh:67
double getZpos() const
Definition: CCalEcal.hh:48
G4String genMat
Definition: CCalEcal.hh:78
double getWidBox() const
Definition: CCalEcal.hh:44
virtual void constructDaughters()
Definition: CCalEcal.cc:111
double ypos
Definition: CCalEcal.hh:80
G4String getLayMat() const
Definition: CCalEcal.hh:55
double thetaZ
Definition: CCalEcal.hh:81
G4String crystMat
Definition: CCalEcal.hh:87
double getLayPar(unsigned int i) const
Definition: CCalEcal.hh:60
double getCrystTol() const
Definition: CCalEcal.hh:64
double layAngle
Definition: CCalEcal.hh:84
double thetaX
Definition: CCalEcal.hh:81
double lengBox
Definition: CCalEcal.hh:79
G4String suppMat
Definition: CCalEcal.hh:92
virtual int readFile()
Definition: CCalEcal.cc:39
double dxSupp
Definition: CCalEcal.hh:93
double getThetaX() const
Definition: CCalEcal.hh:49
int getLayNum() const
Definition: CCalEcal.hh:56
double getCrystLength() const
Definition: CCalEcal.hh:63
double getCrystPar(unsigned int i) const
Definition: CCalEcal.hh:65
double phiY
Definition: CCalEcal.hh:81
G4String getSuppMat() const
Definition: CCalEcal.hh:66
double getPhiZ() const
Definition: CCalEcal.hh:54
double lengFront
Definition: CCalEcal.hh:85
double getThetaY() const
Definition: CCalEcal.hh:51
double getLengBox() const
Definition: CCalEcal.hh:45
double getLayAngle() const
Definition: CCalEcal.hh:58
double getLayRadius() const
Definition: CCalEcal.hh:57
G4String getGenMat() const
Definition: CCalEcal.hh:43
double getYpos() const
Definition: CCalEcal.hh:47
double layRadius
Definition: CCalEcal.hh:84
double getLengFront() const
Definition: CCalEcal.hh:59
double phiX
Definition: CCalEcal.hh:81
double zpos
Definition: CCalEcal.hh:80
double widBox
Definition: CCalEcal.hh:79
double distSupp
Definition: CCalEcal.hh:94
double getDySupp() const
Definition: CCalEcal.hh:68
G4String layMat
Definition: CCalEcal.hh:82
double layPar[5]
Definition: CCalEcal.hh:86
double getThetaZ() const
Definition: CCalEcal.hh:53
double dzSupp
Definition: CCalEcal.hh:93
double phiZ
Definition: CCalEcal.hh:81
CCalEcal(const G4String &name)
Definition: CCalEcal.hh:38
G4String getCrystMat() const
Definition: CCalEcal.hh:61
int getCrystNum() const
Definition: CCalEcal.hh:62
double crystTol
Definition: CCalEcal.hh:90
virtual ~CCalEcal()
Definition: CCalEcal.cc:37