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: CCalHcal.hh 28 // Description: Equipped to construct the geometry of the hadron calorimeter 29 /////////////////////////////////////////////////////////////////////////////// 30 #ifndef CCalHcal_h 31 #define CCalHcal_h 1 32 33 #include "CCalDetector.hh" 34 35 class CCalHcal: public CCalDetector 36 { 37 public: 38 //Constructor and Destructor 39 CCalHcal(const G4String &name); 40 virtual ~CCalHcal(); 41 42 //Get Methods 43 G4String getGenMat() const {return genMaterial;} 44 G4double getDy_2Cal() const {return dy_2Cal;} 45 G4double getDx_2Cal() const {return dx_2Cal;} 46 G4double getXposCal() const {return xposCal;} 47 G4String getBoxMat() const {return boxMaterial;} 48 G4int getNBox() const {return nBox;} 49 G4double getDy_2Box() const {return dy_2Box;} 50 G4double getDx_2Box() const {return dx_2Box;} 51 G4double getWallThickBox() const {return wallThickBox;} 52 G4double getXposBox(unsigned int i) const {return xposBox[i];} 53 G4int getNLayerScnt() const {return nLayerScnt;} 54 G4int getTypeScnt(unsigned int i) const {return typeLayerScnt[i];} 55 G4int getMotherScnt(unsigned int i) const {return mothLayerScnt[i];} 56 G4double getXposScnt(unsigned int i) const {return xposLayerScnt[i];} 57 G4int getNLayerAbs() const {return nLayerAbs;} 58 G4int getTypeAbs(unsigned int i) const {return typeLayerAbs[i];} 59 G4int getMotherAbs(unsigned int i) const {return mothLayerAbs[i];} 60 G4double getXposAbs(unsigned int i) const {return xposLayerAbs[i];} 61 G4String getAbsMat() const {return absMaterial;} 62 G4int getNAbsorber() const {return nAbsorber;} 63 G4double getDy_2Abs( ) const {return dy_2Absorber;} 64 G4double getDx_2Abs(unsigned int i) const {return dx_2Absorber[i];} 65 G4String getScntMat() const {return scntMaterial;} 66 G4String getWrapMat() const {return wrapMaterial;} 67 G4String getPlasMat() const {return plasMaterial;} 68 G4int getNScintillator() const {return nScintillator;} 69 G4double getDy_2ScntLay(unsigned int i) const {return dy_2ScntLayer[i];} 70 G4double getDx_2ScntLay(unsigned int i) const {return dx_2ScntLayer[i];} 71 G4double getDx_2Wrap(unsigned int i) const {return dx_2Wrapper[i];} 72 G4double getDx_2FrontP(unsigned int i) const {return dx_2FrontPlastic[i];} 73 G4double getDx_2BackP(unsigned int i) const {return dx_2BackPlastic[i];} 74 G4double getDx_2Scnt(unsigned int i) const {return dx_2Scintillator[i];} 75 76 protected: 77 virtual G4int readFile() override; 78 virtual void constructDaughters() override; 79 80 private: 81 G4String genMaterial; //General material 82 G4double dy_2Cal; //Half width of the Hcal 83 G4double dx_2Cal; //Half thickness of the Hcal 84 G4double xposCal; //Position in mother 85 86 G4String boxMaterial; //Material of boxes 87 G4int nBox; //Number of boxes 88 G4double dy_2Box; //Half width of the Boxes 89 G4double dx_2Box; //Half thickness of the Boxes 90 G4double wallThickBox; //Wall thickness of the boxes 91 G4double* xposBox; //Position in mother 92 93 G4int nLayerScnt; //Number of scintillator layers 94 G4int* typeLayerScnt; //Layer type 95 G4int* mothLayerScnt; //Mother type 96 G4double* xposLayerScnt; //Position in mother 97 98 G4int nLayerAbs; //Number of absorber layers 99 G4int* typeLayerAbs; //Layer type 100 G4int* mothLayerAbs; //Mother type 101 G4double* xposLayerAbs; //Position in mother 102 103 G4String absMaterial; //Material of absorbers 104 G4int nAbsorber; //Number of absorber types 105 G4double dy_2Absorber; //Half width of the absorbers 106 G4double* dx_2Absorber; //Half thickness of the absorbers 107 108 G4String scntMaterial; //Material of Scintillator 109 G4String wrapMaterial; //Material of Wrapper 110 G4String plasMaterial; //Material of plastic cover 111 G4int nScintillator; //Number of scintillator types 112 G4double* dy_2ScntLayer; //Half width of scintillator layers 113 G4double* dx_2ScntLayer; //Half thickness of scintillator layers 114 G4double* dx_2Wrapper; //Half thickness of wrappers 115 G4double* dx_2FrontPlastic; //Half thickness of front plastic 116 G4double* dx_2BackPlastic; //Half thickness of back plastic 117 G4double* dx_2Scintillator; //Half thickness of scintillators 118 }; 119 120 #endif 121