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 00036 // End class description 00037 // 00043 // 00044 // --------------------------------------------------------------------------// 00057 // --------------------------------------------------------------------------// 00058 00059 #ifndef _MJGEOMETRY800GCRYSTAL_HH 00060 #define _MJGEOMETRY800GCRYSTAL_HH 00061 00062 //---------------------------------------------------------------------------// 00063 00064 // GEANT4 headers 00065 #include "globals.hh" 00066 #include "G4LogicalVolume.hh" 00067 #include "G4PVPlacement.hh" 00068 00069 // MJ headers 00070 #include "database/MJDatabaseSimple800g.hh" 00071 00072 //---------------------------------------------------------------------------// 00073 00074 class MJGeometry800gCrystal 00075 { 00076 public: 00077 //default constructor 00078 MJGeometry800gCrystal( G4String ); 00079 00080 //copy constructor 00081 // MJGeometry800gCrystal(const MJGeometry800gCrystal &); 00082 00083 //destructor 00084 ~MJGeometry800gCrystal(); 00085 00086 public: 00087 //public interface 00088 inline G4LogicalVolume *GetCrystalLogical() { return theCrystalLogical; }; 00089 00090 inline G4String GetSerialNumber() { return serialNumber; }; 00091 00092 inline MJDatabaseSimple800g *GetDBCrystal() { return theDBcrystal; }; 00093 00094 //protected members 00095 protected: 00096 00097 00098 //private members 00099 private: 00100 G4String serialNumber; 00101 MJDatabaseSimple800g *theDBcrystal; 00102 00103 void ConstructCrystal(); 00104 G4LogicalVolume *theCrystalLogical; 00105 00106 }; 00107 #endif