ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CCalEcal.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file CCalEcal.hh
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 {
37 
38 public:
39  //Constructor and Destructor
41  CCalDetector(name) {}
42  virtual ~CCalEcal();
43 
44  //Get Methods
45  G4String getGenMat() const {return genMat;}
46  G4double getWidBox() const {return widBox;}
47  G4double getLengBox() const {return lengBox;}
48  G4double getXpos() const {return xpos;}
49  G4double getYpos() const {return ypos;}
50  G4double getZpos() const {return zpos;}
51  G4double getThetaX() const {return thetaX;}
52  G4double getPhiX() const {return phiX;}
53  G4double getThetaY() const {return thetaY;}
54  G4double getPhiY() const {return phiY;}
55  G4double getThetaZ() const {return thetaZ;}
56  G4double getPhiZ() const {return phiZ;}
57  G4String getLayMat() const {return layMat;}
58  G4int getLayNum() const {return layNum;}
59  G4double getLayRadius() const {return layRadius;}
60  G4double getLayAngle() const {return layAngle;}
61  G4double getLengFront() const {return lengFront;}
62  G4double getLayPar(unsigned int i) const {return layPar[i];}
63  G4String getCrystMat() const {return crystMat;}
64  G4int getCrystNum() const {return crystNum;}
66  G4double getCrystTol() const {return crystTol;}
67  G4double getCrystPar(unsigned int i) const {return crystPar[i];}
68  G4String getSuppMat() const {return suppMat;}
69  G4double getDxSupp() const {return dxSupp;}
70  G4double getDySupp() const {return dySupp;}
71  G4double getDzSupp() const {return dzSupp;}
72  G4double getDistSupp() const {return distSupp;}
73 
74 
75 protected:
76  virtual G4int readFile();
77  virtual void constructDaughters();
78 
79 private:
80  G4String genMat; //General material
81  G4double widBox, lengBox; //Box parameters
82  G4double xpos, ypos, zpos; //Translation matrix definition
83  G4double thetaX,phiX,thetaY,phiY,thetaZ,phiZ; //Rotation matrix definition
84  G4String layMat; //Material for the layers
85  G4int layNum; //Layer numbers
86  G4double layRadius,layAngle; //Positioning parameters
87  G4double lengFront; //Distance from front
88  G4double layPar[5]; //Layer parameters
89  G4String crystMat; //Material for the crystals
90  G4int crystNum; //Crystal numbers
91  G4double crystLength; //Crystal length
92  G4double crystTol; //Tolerance for position
93  G4double crystPar[5]; //Crystal parameters
94  G4String suppMat; //Material of support system
95  G4double dxSupp, dySupp, dzSupp; //Dimension of support material
96  G4double distSupp; //Separation of support material
97 };
98 
99 #endif