Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

MJGeometryDetectorConstruction.hh

Go to the documentation of this file.
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
00037 // End class description
00038 //
00043 // 
00044 // --------------------------------------------------------------------------//
00063 // --------------------------------------------------------------------------//
00064 
00065 #ifndef _MJGEOMETRYDETECTORCONSTRUCTION_HH
00066 #define _MJGEOMETRYDETECTORCONSTRUCTION_HH
00067 
00068 //---------------------------------------------------------------------------//
00069 
00070 //  GEANT4 headers
00071 #include "G4VUserDetectorConstruction.hh"
00072 
00073 //  MJ headers
00074 #include "geometry/MJGeometryShield.hh"
00075 #include "geometry/MJGeometryDetector.hh"
00076 
00077 //  Forward declarations
00078 class G4Box;
00079 class G4LogicalVolume;
00080 class G4VPhysicalVolume;
00081 class MJMaterial;
00082 class MJGeometryDetectorMessenger;
00083 class MJGerdaLocalMaterialTable;
00084 
00085 //---------------------------------------------------------------------------//
00086 
00087 class MJGeometryDetectorConstruction : public G4VUserDetectorConstruction {
00088 public:
00089 
00090   //default constructor
00091   MJGeometryDetectorConstruction();
00092 
00093 
00094   //destructor
00095   ~MJGeometryDetectorConstruction();
00096   
00097   //public interface
00098 public:
00099   G4VPhysicalVolume* Construct();
00100   void BuildAllMaterialsInDatabase();
00101   G4VPhysicalVolume* ConstructDetector();
00102   
00103   inline MJGeometryShield *GetShield() { return theShield; };
00104   inline MJGeometryDetector *GetDetector() {return theDetector;};
00105 
00106   inline void SetDatabaseFlag(G4bool xflag) {fUseDatabase = xflag;}
00107   inline G4bool GetDatabaseFlag() {return fUseDatabase;}
00108   
00109   void SetDetector( G4String );
00110   
00111 
00112   //protected members
00113 protected:
00114   
00115   
00116   //private  members
00117 private:
00118   
00119   // Added by RH, 7/4/2004
00120   MJMaterial   **fMJMaterials;   // Pointer to array of pointers to materials
00121   G4int        fNumberOfMaterials;
00122   
00123   G4Box *solidWorld;
00124   G4LogicalVolume *logicWorld;
00125   G4VPhysicalVolume *physiWorld;
00126   
00127   MJGeometryShield *theShield;
00128   G4VPhysicalVolume *theShieldPhysical;
00129   
00130   MJGeometryDetector *theDetector;
00131                 G4VPhysicalVolume *theDetectorPhysical;
00132 
00133   //  Messenger
00134   MJGeometryDetectorMessenger* detectorMessenger;
00135   
00136   // Added by L. Pandola in order to skip DataBase
00137 private:
00138   G4bool fUseDatabase;
00139   MJGerdaLocalMaterialTable* localTable;
00140 
00141 };
00142 #endif

Generated on Mon Nov 29 16:58:51 2004 for Majorana Simulation by  doxygen 1.3.9.1