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

MaGeGeometryGermaniumCrystal.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
00033 /* 
00034  * this class is similar to MJGeometryCloverCrystal.hh
00035  * it creates a single germanium crystal
00036  * it stores and returns a pointer to the crystal logical volume 
00037  * which will be used by MaGeGeometryGermaniumDetector
00038  *
00039  */
00040 // End class description
00041 //
00046 // 
00047 // --------------------------------------------------------------------------//
00058 // --------------------------------------------------------------------------//
00059 
00060 #ifndef _MAGEGEOMETRYGERMANIUMCRYSTAL_HH
00061 #define _MAGEGEOMETRYGERMANIUMCRYSTAL_HH
00062 
00063 //---------------------------------------------------------------------------//
00064 
00065 // GEANT4 headers
00066 //#include "globals.hh"
00067 //#include "G4LogicalVolume.hh"
00068 //#include "G4PVPlacement.hh"
00069 //#include "G4VPhysicalVolume.hh"
00070 
00071 class G4LogicalVolume;
00072 class G4VPhysicalVolume;
00073 
00074 class MaGeGeometryGermaniumCrystalMessenger;
00075 
00076 //---------------------------------------------------------------------------//
00077 
00078 class MaGeGeometryGermaniumCrystal
00079 {
00080 
00081 public:
00082   //default constructor
00083   MaGeGeometryGermaniumCrystal();
00084 
00085   //copy constructor
00086 
00087   //destructor
00088   ~MaGeGeometryGermaniumCrystal();
00089 
00090   //public interface
00091   inline G4LogicalVolume *GetCrystalActiveLogical() 
00092          {return theGermaniumCrystalActiveLogical; };
00093   inline G4LogicalVolume *GetCrystalDeadLayerLogical() 
00094          {return theGermaniumCrystalDeadlayerLogical; };
00095 
00096   // setters
00097   void SetInnerRadius(G4double ir){GeCrystalInnerRadius = ir;} ;
00098   void SetOuterRadius(G4double our) {GeCrystalOuterRadius = our;} ;
00099   void SetHeight(G4double h)      {GeCrystalHeight=h;} ;
00100   void SetDeadLayer(G4double dl)   {GeCrystalDeadlayer=dl;} ;
00101 
00102   // getters
00103   G4double GetInnerRadius() { return GeCrystalInnerRadius;};
00104   G4double GetOuterRadius() { return GeCrystalOuterRadius;};
00105   G4double GetHeight()      { return GeCrystalHeight;};
00106   G4double GetDeadLayer()   { return GeCrystalDeadlayer;};
00107 
00108   void ConstructCrystal();
00109   //protected members
00110 protected:
00111 
00112 
00113   //private  members
00114 private:
00115 
00116 //-----------------------------------------
00117 // Ge crystal
00118 //-----------------------------------------
00119     G4double  GeCrystalInnerRadius;
00120     G4double  GeCrystalOuterRadius;
00121     G4double  GeCrystalHeight;
00122     G4double  GeCrystalDeadlayer;
00123 
00124     G4LogicalVolume *theGermaniumCrystalActiveLogical;
00125     G4LogicalVolume *theGermaniumCrystalDeadlayerLogical;
00126 
00127     MaGeGeometryGermaniumCrystalMessenger *fMessenger;
00128 };
00129 //
00130 #endif

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