Geant4  9.6.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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