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

MaGeGeometryGermaniumCrystalHole.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 // --------------------------------------------------------------------------//
00059 // --------------------------------------------------------------------------//
00060 
00061 #ifndef _MAGEGEOMETRYGERMANIUMCRYSTALHOLE_HH
00062 #define _MAGEGEOMETRYGERMANIUMCRYSTALHOLE_HH
00063 
00064 //---------------------------------------------------------------------------//
00065 
00066 // GEANT4 headers
00067 //#include "globals.hh"
00068 //#include "G4LogicalVolume.hh"
00069 //#include "G4PVPlacement.hh"
00070 //#include "G4VPhysicalVolume.hh"
00071 
00072 class G4LogicalVolume;
00073 class G4VPhysicalVolume;
00074 
00075 // class MaGeGeometryGermaniumCrystalHoleMessenger;
00076 
00077 //---------------------------------------------------------------------------//
00078 
00079 class MaGeGeometryGermaniumCrystalHole
00080 {
00081 
00082 public:
00083   //default constructor
00084   MaGeGeometryGermaniumCrystalHole();
00085 
00086   //copy constructor
00087 
00088   //destructor
00089   ~MaGeGeometryGermaniumCrystalHole();
00090 
00091   //public interface
00092   inline G4LogicalVolume *GetCrystalActiveLogical() 
00093          {return theGermaniumCrystalActiveLogical; };
00094   inline G4LogicalVolume *GetCrystalDeadLayerLogical() 
00095          {return theGermaniumCrystalDeadlayerLogical; };
00096 
00097   // setters
00098   void SetInnerRadius(G4double ir){GeCrystalInnerRadius = ir;} ;
00099   void SetOuterRadius(G4double our) {GeCrystalOuterRadius = our;} ;
00100   void SetHeight(G4double h)      {GeCrystalHeight=h;} ;
00101   void SetDeadLayer(G4double dl)   {GeCrystalDeadlayer=dl;} ;
00102   void SetHoleOuterRadius(G4double hour) {GeCrystalHoleOuterRadius = hour;} ;
00103   void SetHoleDepth(G4double hd) {GeCrystalHoleDepth = hd;} ;
00104 
00105   // getters
00106   G4double GetInnerRadius() { return GeCrystalInnerRadius;};
00107   G4double GetOuterRadius() { return GeCrystalOuterRadius;};
00108   G4double GetHeight()      { return GeCrystalHeight;};
00109   G4double GetDeadLayer()   { return GeCrystalDeadlayer;};
00110   G4double GetHoleOuterRadius() { return GeCrystalHoleOuterRadius;};
00111   G4double GetHoleDepth() { return GeCrystalHoleDepth;};
00112 
00113   void ConstructCrystal();
00114   //protected members
00115 protected:
00116 
00117 
00118   //private  members
00119 private:
00120 
00121 //-----------------------------------------
00122 // Ge crystal
00123 //-----------------------------------------
00124     G4double  GeCrystalInnerRadius;
00125     G4double  GeCrystalOuterRadius;
00126     G4double  GeCrystalHeight;
00127     G4double  GeCrystalDeadlayer;
00128     G4double  GeCrystalHoleOuterRadius;
00129     G4double  GeCrystalHoleDepth;
00130 
00131     G4LogicalVolume *theGermaniumCrystalActiveLogical;
00132     G4LogicalVolume *theGermaniumCrystalDeadlayerLogical;
00133 
00134   //    MaGeGeometryGermaniumCrystalHoleMessenger *fMessenger;
00135 };
00136 //
00137 #endif

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