00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00034
00035
00046
00047
00048
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
00068 #include "geometry/MJGeometryDetector.hh"
00069 #include "geometry/MJGeometryDetectorConstruction.hh"
00070 #include "io/MJLogger.hh"
00071
00072
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
00096 theShielding->ConstructShielding();
00097
00098 theCrystal->ConstructCrystal();
00099
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
00113 SetDetectorLogical(theShielding->GetOverallLogical());
00114
00115
00116 SetDetectorName("Water Tube");
00117 }