Geant4 Cross Reference |
1 // 1 // 2 // ******************************************* 2 // ******************************************************************** 3 // * License and Disclaimer << 3 // * DISCLAIMER * 4 // * 4 // * * 5 // * The Geant4 software is copyright of th << 5 // * The following disclaimer summarizes all the specific disclaimers * 6 // * the Geant4 Collaboration. It is provided << 6 // * of contributors to this software. The specific disclaimers,which * 7 // * conditions of the Geant4 Software License << 7 // * govern, are listed with their locations in: * 8 // * LICENSE and available at http://cern.ch/ << 8 // * http://cern.ch/geant4/license * 9 // * include a list of copyright holders. << 10 // * 9 // * * 11 // * Neither the authors of this software syst 10 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing fin 11 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warran 12 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assum 13 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file << 14 // * use. * 16 // * for the full disclaimer and the limitatio << 17 // * 15 // * * 18 // * This code implementation is the result << 16 // * This code implementation is the intellectual property of the * 19 // * technical work of the GEANT4 collaboratio << 17 // * GEANT4 collaboration. * 20 // * By using, copying, modifying or distri << 18 // * By copying, distributing or modifying the Program (or any work * 21 // * any work based on the software) you ag << 19 // * based on the Program) you indicate your acceptance of this * 22 // * use in resulting scientific publicati << 20 // * statement, and all its terms. * 23 // * acceptance of all terms of the Geant4 Sof << 24 // ******************************************* 21 // ******************************************************************** 25 // 22 // 26 ////////////////////////////////////////////// 23 /////////////////////////////////////////////////////////////////////////////// 27 // File: CCalHcal.hh 24 // File: CCalHcal.hh 28 // Description: Equipped to construct the geom 25 // Description: Equipped to construct the geometry of the hadron calorimeter 29 ////////////////////////////////////////////// 26 /////////////////////////////////////////////////////////////////////////////// 30 #ifndef CCalHcal_h 27 #ifndef CCalHcal_h 31 #define CCalHcal_h 1 28 #define CCalHcal_h 1 32 29 33 #include "CCalDetector.hh" 30 #include "CCalDetector.hh" 34 31 35 class CCalHcal: public CCalDetector << 32 class CCalHcal: public CCalDetector { 36 { << 37 public: 33 public: 38 //Constructor and Destructor 34 //Constructor and Destructor 39 CCalHcal(const G4String &name); 35 CCalHcal(const G4String &name); 40 virtual ~CCalHcal(); 36 virtual ~CCalHcal(); 41 37 42 //Get Methods 38 //Get Methods 43 G4String getGenMat() co << 39 G4String getGenMat() const {return genMaterial;} 44 G4double getDy_2Cal() co << 40 double getDy_2Cal() const {return dy_2Cal;} 45 G4double getDx_2Cal() co << 41 double getDx_2Cal() const {return dx_2Cal;} 46 G4double getXposCal() co << 42 double getXposCal() const {return xposCal;} 47 G4String getBoxMat() co << 43 G4String getBoxMat() const {return boxMaterial;} 48 G4int getNBox() co << 44 int getNBox() const {return nBox;} 49 G4double getDy_2Box() co << 45 double getDy_2Box() const {return dy_2Box;} 50 G4double getDx_2Box() co << 46 double getDx_2Box() const {return dx_2Box;} 51 G4double getWallThickBox() co << 47 double getWallThickBox() const {return wallThickBox;} 52 G4double getXposBox(unsigned int i) co << 48 double getXposBox(unsigned int i) const {return xposBox[i];} 53 G4int getNLayerScnt() co << 49 int getNLayerScnt() const {return nLayerScnt;} 54 G4int getTypeScnt(unsigned int i) co << 50 int getTypeScnt(unsigned int i) const {return typeLayerScnt[i];} 55 G4int getMotherScnt(unsigned int i) co << 51 int getMotherScnt(unsigned int i) const {return mothLayerScnt[i];} 56 G4double getXposScnt(unsigned int i) co << 52 double getXposScnt(unsigned int i) const {return xposLayerScnt[i];} 57 G4int getNLayerAbs() co << 53 int getNLayerAbs() const {return nLayerAbs;} 58 G4int getTypeAbs(unsigned int i) co << 54 int getTypeAbs(unsigned int i) const {return typeLayerAbs[i];} 59 G4int getMotherAbs(unsigned int i) co << 55 int getMotherAbs(unsigned int i) const {return mothLayerAbs[i];} 60 G4double getXposAbs(unsigned int i) co << 56 double getXposAbs(unsigned int i) const {return xposLayerAbs[i];} 61 G4String getAbsMat() co << 57 G4String getAbsMat() const {return absMaterial;} 62 G4int getNAbsorber() co << 58 int getNAbsorber() const {return nAbsorber;} 63 G4double getDy_2Abs( ) co << 59 double getDy_2Abs( ) const {return dy_2Absorber;} 64 G4double getDx_2Abs(unsigned int i) co << 60 double getDx_2Abs(unsigned int i) const {return dx_2Absorber[i];} 65 G4String getScntMat() co << 61 G4String getScntMat() const {return scntMaterial;} 66 G4String getWrapMat() co << 62 G4String getWrapMat() const {return wrapMaterial;} 67 G4String getPlasMat() co << 63 G4String getPlasMat() const {return plasMaterial;} 68 G4int getNScintillator() co << 64 int getNScintillator() const {return nScintillator;} 69 G4double getDy_2ScntLay(unsigned int i) co << 65 double getDy_2ScntLay(unsigned int i) const {return dy_2ScntLayer[i];} 70 G4double getDx_2ScntLay(unsigned int i) co << 66 double getDx_2ScntLay(unsigned int i) const {return dx_2ScntLayer[i];} 71 G4double getDx_2Wrap(unsigned int i) co << 67 double getDx_2Wrap(unsigned int i) const {return dx_2Wrapper[i];} 72 G4double getDx_2FrontP(unsigned int i) co << 68 double getDx_2FrontP(unsigned int i) const {return dx_2FrontPlastic[i];} 73 G4double getDx_2BackP(unsigned int i) co << 69 double getDx_2BackP(unsigned int i) const {return dx_2BackPlastic[i];} 74 G4double getDx_2Scnt(unsigned int i) co << 70 double getDx_2Scnt(unsigned int i) const {return dx_2Scintillator[i];} 75 71 76 protected: 72 protected: 77 virtual G4int readFile() override; << 73 virtual int readFile(); 78 virtual void constructDaughters() override; << 74 virtual void constructDaughters(); 79 75 80 private: 76 private: 81 G4String genMaterial; //General << 77 G4String genMaterial; //General material 82 G4double dy_2Cal; //Half wi << 78 double dy_2Cal; //Half width of the Hcal 83 G4double dx_2Cal; //Half th << 79 double dx_2Cal; //Half thickness of the Hcal 84 G4double xposCal; //Positio << 80 double xposCal; //Position in mother 85 << 81 86 G4String boxMaterial; //Materia << 82 G4String boxMaterial; //Material of boxes 87 G4int nBox; //Number << 83 int nBox; //Number of boxes 88 G4double dy_2Box; //Half wi << 84 double dy_2Box; //Half width of the Boxes 89 G4double dx_2Box; //Half th << 85 double dx_2Box; //Half thickness of the Boxes 90 G4double wallThickBox; //Wall th << 86 double wallThickBox; //Wall thickness of the boxes 91 G4double* xposBox; //Positio << 87 double* xposBox; //Position in mother 92 << 88 93 G4int nLayerScnt; //Number << 89 int nLayerScnt; //Number of scintillator layers 94 G4int* typeLayerScnt; //Layer t << 90 int* typeLayerScnt; //Layer type 95 G4int* mothLayerScnt; //Mother << 91 int* mothLayerScnt; //Mother type 96 G4double* xposLayerScnt; //Positio << 92 double* xposLayerScnt; //Position in mother 97 << 93 98 G4int nLayerAbs; //Number << 94 int nLayerAbs; //Number of absorber layers 99 G4int* typeLayerAbs; //Layer t << 95 int* typeLayerAbs; //Layer type 100 G4int* mothLayerAbs; //Mother << 96 int* mothLayerAbs; //Mother type 101 G4double* xposLayerAbs; //Positio << 97 double* xposLayerAbs; //Position in mother 102 << 98 103 G4String absMaterial; //Materia << 99 G4String absMaterial; //Material of absorbers 104 G4int nAbsorber; //Number << 100 int nAbsorber; //Number of absorber types 105 G4double dy_2Absorber; //Half wi << 101 double dy_2Absorber; //Half width of the absorbers 106 G4double* dx_2Absorber; //Half th << 102 double* dx_2Absorber; //Half thickness of the absorbers 107 << 103 108 G4String scntMaterial; //Materia << 104 G4String scntMaterial; //Material of Scintillator 109 G4String wrapMaterial; //Materia << 105 G4String wrapMaterial; //Material of Wrapper 110 G4String plasMaterial; //Materia << 106 G4String plasMaterial; //Material of plastic cover 111 G4int nScintillator; //Number << 107 int nScintillator; //Number of scintillator types 112 G4double* dy_2ScntLayer; //Half wi << 108 double* dy_2ScntLayer; //Half width of scintillator layers 113 G4double* dx_2ScntLayer; //Half th << 109 double* dx_2ScntLayer; //Half thickness of scintillator layers 114 G4double* dx_2Wrapper; //Half th << 110 double* dx_2Wrapper; //Half thickness of wrappers 115 G4double* dx_2FrontPlastic; //Half th << 111 double* dx_2FrontPlastic; //Half thickness of front plastic 116 G4double* dx_2BackPlastic; //Half th << 112 double* dx_2BackPlastic; //Half thickness of back plastic 117 G4double* dx_2Scintillator; //Half th << 113 double* dx_2Scintillator; //Half thickness of scintillators 118 }; 114 }; 119 115 120 #endif 116 #endif 121 117