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

MaGeGeometryGerdaCrystal.cc

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 //---------------------------------------------------------------------------//
00022 //                                                          
00023 // $Id: MaGeGeometryGerdaCrystal.cc,v 1.1 2004/11/18 16:06:14 xliu Exp $ 
00024 //      
00025 // CLASS IMPLEMENTATION:  @CLASS_NAME@.cc
00026 //
00027 //---------------------------------------------------------------------------//
00034 // 
00035 //---------------------------------------------------------------------------//
00046 //---------------------------------------------------------------------------//
00047 //
00048 // G4 includes
00049 #include "G4Element.hh"
00050 #include "G4Material.hh"
00051 #include "G4Box.hh"
00052 #include "G4Tubs.hh"
00053 #include "G4Sphere.hh"
00054 #include "G4SubtractionSolid.hh"
00055 #include "G4LogicalVolume.hh"
00056 #include "G4ThreeVector.hh"
00057 #include "G4PVPlacement.hh"
00058 #include "G4PVParameterised.hh"
00059 #include "globals.hh"
00060 #include "G4UnitsTable.hh"
00061 #include "G4Transform3D.hh"
00062 #include "G4RotationMatrix.hh"
00063 #include "G4SDManager.hh"
00064 #include "G4VisAttributes.hh"
00065 #include "G4Colour.hh"
00066 
00067 // MJ include
00068 #include "geometry/MJGeometryDetector.hh"
00069 #include "geometry/MJGeometryDetectorConstruction.hh"
00070 #include "io/MJLogger.hh"
00071 
00072 // Gerda include
00073 #include "gerdageometry/MaGeGeometryGerdaCrystal.hh"
00074 
00075 //---------------------------------------------------------------------------//
00076 
00077 
00078 //---------------------------------------------------------------------------//
00079 
00080 MaGeGeometryGerdaCrystal::MaGeGeometryGerdaCrystal() :
00081 MJGeometryDetector("")
00082 {
00083     theCrystal = new MaGeGeometryGermaniumCrystal();
00084     theShielding = new MaGeGeometryShielding();
00085 }
00086 
00087 MaGeGeometryGerdaCrystal::~MaGeGeometryGerdaCrystal()
00088 {
00089     delete theCrystal;
00090     delete theShielding;
00091 }
00092 
00093 void MaGeGeometryGerdaCrystal::ConstructDetector()
00094 {
00095 // --- create shielding --- //
00096     theShielding->ConstructShielding();
00097 // --- create crystal --- //
00098     theCrystal->ConstructCrystal();
00099 // --- position crystal in the center liquid nitrogen --- //
00100       GeActiveCrystal_Physical=
00101         new G4PVPlacement(0,G4ThreeVector(),
00102                             theCrystal->GetCrystalActiveLogical(),
00103                             "Ge_det_0",
00104                             theShielding->GetCrystalContainerLogical(),
00105                             false,0);
00106       GeDeadlayerCrystal_Physical=
00107         new G4PVPlacement(0,G4ThreeVector(),
00108                             theCrystal->GetCrystalDeadLayerLogical(),
00109                             "Ge_deadlayer_0",
00110                             theShielding->GetCrystalContainerLogical(),
00111                             false,0);
00112     // return theDetectorLogical here!
00113     SetDetectorLogical(theShielding->GetOverallLogical()); 
00114            //this is the pointer to be returned
00115  
00116     SetDetectorName("Water Tube"); //the default is "Detector"
00117 }

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