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 00039 // End class description 00040 // 00045 // 00046 // --------------------------------------------------------------------------// 00065 // --------------------------------------------------------------------------// 00066 00067 #ifndef _MJGEOMETRYCLOVERCRYSTAL_HH 00068 #define _MJGEOMETRYCLOVERCRYSTAL_HH 00069 00070 //---------------------------------------------------------------------------// 00071 00072 // GEANT4 headers 00073 #include "globals.hh" 00074 #include "G4LogicalVolume.hh" 00075 #include "G4PVPlacement.hh" 00076 #include "G4VPhysicalVolume.hh" 00077 00078 // MJ headers 00079 #include "database/MJDatabaseCloverCrystal.hh" 00080 00081 //---------------------------------------------------------------------------// 00082 00083 class MJGeometryCloverCrystal { 00084 00085 public: 00086 00087 //default constructor 00088 MJGeometryCloverCrystal( G4String ); 00089 00090 //copy constructor 00091 // MJGeometryCloverCrystal(const MJGeometryCloverCrystal &); 00092 00093 //destructor 00094 ~MJGeometryCloverCrystal(); 00095 00096 //public interface 00097 inline G4LogicalVolume *GetCrystalLogical() { return theCrystalLogical; }; 00098 inline G4VPhysicalVolume *GetActiveCrystal() { return activeCrystalPhysical; }; 00099 00100 inline G4String GetSerialNumber() { return serialNumber; }; 00101 00102 inline MJDatabaseCloverCrystal *GetDBCrystal() { return theDBcrystal; }; 00103 // inline void SetBGModel( G4String model ) { theDBcrystal->SetBGModel( model ); }; 00104 // inline void SetInnerBGModel( G4String model ) { theDBcrystal->SetInnerBGModel( model ); }; 00105 00106 //protected members 00107 protected: 00108 00109 00110 //private members 00111 private: 00112 G4String serialNumber; 00113 MJDatabaseCloverCrystal *theDBcrystal; 00114 00115 void ConstructCrystal(); 00116 G4VPhysicalVolume *activeCrystalPhysical; 00117 G4LogicalVolume *theCrystalLogical; 00118 }; 00119 #endif