00001 //---------------------------------------------------------------------------// 00002 //bb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nu// 00003 // // 00004 // MAJORANA Simulation // 00005 // // 00006 // This code implementation is the intellectual property of the // 00007 // MAJORANA Collaboration. It is based on Geant4, an intellectual // 00008 // property of the RD44 GEANT4 collaboration. // 00009 // // 00010 // ********************* // 00011 // // 00012 // Neither the authors of this software system, nor their employing // 00013 // institutes, nor the agencies providing financial support for this // 00014 // work make any representation or warranty, express or implied, // 00015 // regarding this software system or assume any liability for its use. // 00016 // By copying, distributing or modifying the Program (or any work based // 00017 // on on the Program) you indicate your acceptance of this statement, // 00018 // and all its terms. // 00019 // // 00020 //bb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nu// 00021 //---------------------------------------------------------------------------// 00032 // Begin description of class here 00033 /* 00034 * this class has only one germanium crystal inside the shielding material 00035 * while class MaGeGeometryGerdaCrystal has 21 crystals inside the shielding 00036 * it inherit class MJGeometryDetector 00037 * 00038 */ 00039 // End class description 00040 // 00045 // 00046 // --------------------------------------------------------------------------// 00059 // --------------------------------------------------------------------------// 00060 00061 #ifndef _MAGEGEOMETRYGERDACRYSTALHOLE_HH 00062 #define _MAGEGEOMETRYGERDACRYSTALHOLE_HH 00063 00064 //---------------------------------------------------------------------------// 00065 // Geant4 headers 00066 #include "globals.hh" 00067 #include "G4LogicalVolume.hh" 00068 00069 // MJ headers 00070 #include "geometry/MJGeometryDetector.hh" 00071 #include "gerdageometry/MaGeGeometryGermaniumCrystalHole.hh" 00072 //#include "gerdageometry/MaGeGeometryGermaniumArray.hh" 00073 #include "gerdageometry/MaGeGeometryShielding.hh" 00074 00075 //---------------------------------------------------------------------------// 00076 00077 class MaGeGeometryGerdaCrystalHole : public MJGeometryDetector 00078 { 00079 //public members 00080 public: 00081 00082 00083 //default constructor 00084 MaGeGeometryGerdaCrystalHole(); 00085 00086 //copy constructor 00087 00088 //destructor 00089 ~MaGeGeometryGerdaCrystalHole(); 00090 00091 // construction inheritedfrom MJGeometryDetector 00092 void ConstructDetector(); 00093 00094 // setters 00095 00096 //protected members 00097 protected: 00098 00099 00100 //private members 00101 private: 00102 00103 //----------------------------------------- 00104 // Number of Ge crystals 00105 //----------------------------------------- 00106 static const G4int GeCrystalNum=1; 00107 00108 // MaGeGeometryGermaniumArray* theArray; 00109 MaGeGeometryGermaniumCrystalHole* theCrystal; 00110 MaGeGeometryShielding* theShielding; 00111 G4VPhysicalVolume* GeActiveCrystal_Physical; 00112 G4VPhysicalVolume* GeDeadlayerCrystal_Physical; 00113 00114 }; 00115 // 00116 #endif