Geant4 Cross Reference |
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 // 26 /////////////////////////////////////////////////////////////////////////////// 27 // File: CCalEcal.hh 28 // Description: CCalEcal Geometry factory class for crystal matrix 29 /////////////////////////////////////////////////////////////////////////////// 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 40 CCalEcal(const G4String &name): 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;} 65 G4double getCrystLength() const {return crystLength;} 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() override; 77 virtual void constructDaughters() override; 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 100