Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
GammaRayTelDetectorConstruction Class Reference

#include <GammaRayTelDetectorConstruction.hh>

Inheritance diagram for GammaRayTelDetectorConstruction:
G4VUserDetectorConstruction

Public Member Functions

 GammaRayTelDetectorConstruction ()
 
 ~GammaRayTelDetectorConstruction ()
 
void SetNbOfTKRLayers (G4int)
 
void SetTKRTileSizeXY (G4double)
 
void SetNbOfTKRTiles (G4int)
 
void SetTKRSiliconThickness (G4double)
 
void SetTKRSiliconPitch (G4double)
 
void SetTKRLayerDistance (G4double)
 
void SetTKRViewsDistance (G4double)
 
void SetConverterMaterial (G4String)
 
void SetConverterThickness (G4double)
 
void SetNbOfCALLayers (G4int)
 
void SetNbOfCALBars (G4int)
 
void SetCALBarThickness (G4double)
 
void SetACDThickness (G4double)
 
void SetMagField (G4double)
 
G4VPhysicalVolumeConstruct ()
 
void UpdateGeometry ()
 
void PrintPayloadParameters ()
 
G4double GetWorldSizeZ ()
 
G4double GetWorldSizeXY ()
 
G4double GetPayloadSizeZ ()
 
G4double GetPayloadSizeXY ()
 
G4double GetTKRSizeZ ()
 
G4double GetTKRSizeXY ()
 
G4double GetCALSizeZ ()
 
G4double GetCALTKRDistance ()
 
G4double GetTKRSiliconThickness ()
 
G4double GetTKRSiliconTileXY ()
 
G4double GetTKRSiliconPitch ()
 
G4int GetNbOfTKRLayers ()
 
G4int GetNbOfTKRTiles ()
 
G4int GetNbOfTKRStrips ()
 
G4double GetTKRLayerDistance ()
 
G4double GetTKRViewsDistance ()
 
G4double GetTKRActiveTileXY ()
 
G4double GetTKRActiveTileZ ()
 
G4double GetSiliconGuardRing ()
 
G4double GetTilesSeparation ()
 
G4MaterialGetConverterMaterial ()
 
G4double GetConverterThickness ()
 
G4double GetCALBarThickness ()
 
G4int GetNbOfCALLayers ()
 
G4int GetNbOfCALBars ()
 
G4double GetACDThickness ()
 
G4int GetNbOfACDTopTiles ()
 
G4int GetNbOfACDLateralTiles ()
 
- Public Member Functions inherited from G4VUserDetectorConstruction
 G4VUserDetectorConstruction ()
 
virtual ~G4VUserDetectorConstruction ()
 
virtual void ConstructSDandField ()
 
virtual void CloneSD ()
 
virtual void CloneF ()
 
void RegisterParallelWorld (G4VUserParallelWorld *)
 
G4int ConstructParallelGeometries ()
 
void ConstructParallelSD ()
 
G4int GetNumberOfParallelWorld () const
 
G4VUserParallelWorldGetParallelWorld (G4int i) const
 

Additional Inherited Members

- Protected Member Functions inherited from G4VUserDetectorConstruction
void SetSensitiveDetector (const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
 
void SetSensitiveDetector (G4LogicalVolume *logVol, G4VSensitiveDetector *aSD)
 

Detailed Description

Definition at line 58 of file GammaRayTelDetectorConstruction.hh.

Constructor & Destructor Documentation

GammaRayTelDetectorConstruction::GammaRayTelDetectorConstruction ( )

Definition at line 71 of file GammaRayTelDetectorConstruction.cc.

References python.hepunit::cm, python.hepunit::micrometer, and python.hepunit::mm.

72  :solidWorld(0),logicWorld(0),physiWorld(0),
73  solidPayload(0),logicPayload(0),physiPayload(0),
74  solidTKR(0),logicTKR(0),physiTKR(0),
75  solidCAL(0),logicCAL(0),physiCAL(0),
76  solidACT(0),logicACT(0),physiACT(0),
77  solidACL1(0),logicACL1(0),physiACL1(0),
78  solidACL2(0),logicACL2(0),physiACL2(0),
79  solidTKRDetectorX(0),logicTKRDetectorX(0),physiTKRDetectorX(0),
80  solidTKRDetectorY(0),logicTKRDetectorY(0),physiTKRDetectorY(0),
81  solidCALLayerX(0),logicCALLayerX(0),physiCALLayerX(0),
82  solidCALLayerY(0),logicCALLayerY(0),physiCALLayerY(0),
83  solidCALDetectorX(0),logicCALDetectorX(0),physiCALDetectorX(0),
84  solidCALDetectorY(0),logicCALDetectorY(0),physiCALDetectorY(0),
85  solidPlane(0),logicPlane(0),physiPlane(0),
86  solidConverter(0),logicConverter(0),physiConverter(0),
87  trackerSD(0),calorimeterSD(0),anticoincidenceSD(0)
88  // aTKRRegion(0), aCALRegion(0)
89 {
90  // default parameter values of the payload
91 
92  ConverterThickness = 300.*micrometer;
93  TKRSiliconThickness = 400.*micrometer;
94  TKRSiliconTileXY = 9.*cm;
95  TKRSiliconPitch = 200.*micrometer;
96  TKRLayerDistance = 3.*cm;
97  SiliconGuardRing = 1.5*mm;
98  TKRViewsDistance = 1.*mm;
99  NbOfTKRLayers = 15;
100  NbOfTKRTiles = 4;
101  CALBarThickness = 1.5*cm;
102  NbOfCALBars = 12;
103  NbOfCALLayers = 5;
104  ACDThickness = 1.*cm;
105  NbOfACDTopTiles = 1;
106  NbOfACDLateralTiles = 2;
107 
108  TilesSeparation = 100.*micrometer;
109  ACDTKRDistance = 5.*cm;
110  CALTKRDistance = 1.5*cm;
111 
112  ComputePayloadParameters();
113 
114  // create commands for interactive definition of the payload
115  detectorMessenger = new GammaRayTelDetectorMessenger(this);
116 
117 }
int micrometer
Definition: hepunit.py:34
GammaRayTelDetectorConstruction::~GammaRayTelDetectorConstruction ( )

Definition at line 121 of file GammaRayTelDetectorConstruction.cc.

122 { delete detectorMessenger;}

Member Function Documentation

G4VPhysicalVolume * GammaRayTelDetectorConstruction::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 126 of file GammaRayTelDetectorConstruction.cc.

127 {
128  DefineMaterials();
129  return ConstructPayload();
130 }
G4double GammaRayTelDetectorConstruction::GetACDThickness ( )
inline

Definition at line 129 of file GammaRayTelDetectorConstruction.hh.

129 {return ACDThickness;};
G4double GammaRayTelDetectorConstruction::GetCALBarThickness ( )
inline

Definition at line 125 of file GammaRayTelDetectorConstruction.hh.

125 {return CALBarThickness;};
G4double GammaRayTelDetectorConstruction::GetCALSizeZ ( )
inline

Definition at line 105 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build().

105 {return CALSizeZ;};
G4double GammaRayTelDetectorConstruction::GetCALTKRDistance ( )
inline

Definition at line 106 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build().

106 {return CALTKRDistance;};
G4Material* GammaRayTelDetectorConstruction::GetConverterMaterial ( )
inline

Definition at line 122 of file GammaRayTelDetectorConstruction.hh.

122 {return ConverterMaterial;};
G4double GammaRayTelDetectorConstruction::GetConverterThickness ( )
inline

Definition at line 123 of file GammaRayTelDetectorConstruction.hh.

123 {return ConverterThickness;};
G4int GammaRayTelDetectorConstruction::GetNbOfACDLateralTiles ( )
inline

Definition at line 131 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelAnticoincidenceSD::GammaRayTelAnticoincidenceSD().

131 {return NbOfACDLateralTiles;};
G4int GammaRayTelDetectorConstruction::GetNbOfACDTopTiles ( )
inline

Definition at line 130 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelAnticoincidenceSD::GammaRayTelAnticoincidenceSD().

130 {return NbOfACDTopTiles;};
G4int GammaRayTelDetectorConstruction::GetNbOfCALBars ( )
inline

Definition at line 127 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelCalorimeterSD::GammaRayTelCalorimeterSD().

127 {return NbOfCALBars;};
G4int GammaRayTelDetectorConstruction::GetNbOfCALLayers ( )
inline

Definition at line 126 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelCalorimeterSD::GammaRayTelCalorimeterSD().

126 {return NbOfCALLayers;};
G4int GammaRayTelDetectorConstruction::GetNbOfTKRLayers ( )
inline

Definition at line 111 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build(), and GammaRayTelTrackerSD::GammaRayTelTrackerSD().

111 {return NbOfTKRLayers;};
G4int GammaRayTelDetectorConstruction::GetNbOfTKRStrips ( )
inline
G4int GammaRayTelDetectorConstruction::GetNbOfTKRTiles ( )
inline
G4double GammaRayTelDetectorConstruction::GetPayloadSizeXY ( )
inline

Definition at line 100 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build().

100 {return PayloadSizeXY;};
G4double GammaRayTelDetectorConstruction::GetPayloadSizeZ ( )
inline

Definition at line 99 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build().

99 {return PayloadSizeZ;};
G4double GammaRayTelDetectorConstruction::GetSiliconGuardRing ( )
inline

Definition at line 119 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build().

119 {return SiliconGuardRing;}
G4double GammaRayTelDetectorConstruction::GetTilesSeparation ( )
inline

Definition at line 120 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build().

120 {return TilesSeparation;};
G4double GammaRayTelDetectorConstruction::GetTKRActiveTileXY ( )
inline

Definition at line 117 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build().

117 {return TKRActiveTileXY;};
G4double GammaRayTelDetectorConstruction::GetTKRActiveTileZ ( )
inline

Definition at line 118 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build().

118 {return TKRActiveTileZ;};
G4double GammaRayTelDetectorConstruction::GetTKRLayerDistance ( )
inline

Definition at line 114 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build().

114 {return TKRLayerDistance;};
G4double GammaRayTelDetectorConstruction::GetTKRSiliconPitch ( )
inline

Definition at line 110 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build().

110 {return TKRSiliconPitch;};
G4double GammaRayTelDetectorConstruction::GetTKRSiliconThickness ( )
inline

Definition at line 108 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build().

108 {return TKRSiliconThickness;};
G4double GammaRayTelDetectorConstruction::GetTKRSiliconTileXY ( )
inline

Definition at line 109 of file GammaRayTelDetectorConstruction.hh.

109 {return TKRSiliconTileXY;};
G4double GammaRayTelDetectorConstruction::GetTKRSizeXY ( )
inline

Definition at line 103 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build().

103 {return TKRSizeXY;};
G4double GammaRayTelDetectorConstruction::GetTKRSizeZ ( )
inline

Definition at line 102 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build().

102 {return TKRSizeZ;};
G4double GammaRayTelDetectorConstruction::GetTKRViewsDistance ( )
inline

Definition at line 115 of file GammaRayTelDetectorConstruction.hh.

Referenced by GammaRayTelTrackerROGeometry::Build().

115 {return TKRViewsDistance;};
G4double GammaRayTelDetectorConstruction::GetWorldSizeXY ( )
inline
G4double GammaRayTelDetectorConstruction::GetWorldSizeZ ( )
inline
void GammaRayTelDetectorConstruction::PrintPayloadParameters ( )

Definition at line 813 of file GammaRayTelDetectorConstruction.cc.

References G4cout, G4Material::GetName(), and python.hepunit::mm.

Referenced by SetConverterMaterial().

814 {
815  G4cout << "\n------------------------------------------------------------"
816  << "\n---> The Tracker is " << NbOfTKRLayers << " layers of: "
817  << ConverterThickness/mm << "mm of " << ConverterMaterial->GetName()
818  << "\n------------------------------------------------------------\n";
819 }
const G4String & GetName() const
Definition: G4Material.hh:176
G4GLOB_DLL std::ostream G4cout
void GammaRayTelDetectorConstruction::SetACDThickness ( G4double  val)

Definition at line 904 of file GammaRayTelDetectorConstruction.cc.

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

905 {
906  ACDThickness = val;
907 }
void GammaRayTelDetectorConstruction::SetCALBarThickness ( G4double  val)

Definition at line 897 of file GammaRayTelDetectorConstruction.cc.

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

898 {
899  CALBarThickness = val;
900 }
void GammaRayTelDetectorConstruction::SetConverterMaterial ( G4String  materialChoice)

Definition at line 826 of file GammaRayTelDetectorConstruction.cc.

References G4Material::GetMaterial(), PrintPayloadParameters(), and G4LogicalVolume::SetMaterial().

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

827 {
828  // search the material by its name
829  G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);
830  if (pttoMaterial)
831  {
832  ConverterMaterial = pttoMaterial;
833  logicConverter->SetMaterial(pttoMaterial);
835  }
836 }
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
Definition: G4Material.cc:578
void SetMaterial(G4Material *pMaterial)
void GammaRayTelDetectorConstruction::SetConverterThickness ( G4double  val)

Definition at line 838 of file GammaRayTelDetectorConstruction.cc.

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

839 {
840  ConverterThickness = val;
841 }
void GammaRayTelDetectorConstruction::SetMagField ( G4double  fieldValue)

Definition at line 911 of file GammaRayTelDetectorConstruction.cc.

References G4FieldManager::CreateChordFinder(), G4TransportationManager::GetFieldManager(), G4TransportationManager::GetTransportationManager(), and G4FieldManager::SetDetectorField().

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

912 {
913  //apply a global uniform magnetic field along Z axis
914  G4FieldManager* fieldMgr
916 
917  if(magField) delete magField; //delete the existing magn field
918 
919  if(fieldValue!=0.) // create a new one if non nul
920  { magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue));
921  fieldMgr->SetDetectorField(magField);
922  fieldMgr->CreateChordFinder(magField);
923  } else {
924  magField = 0;
925  fieldMgr->SetDetectorField(magField);
926  }
927 }
CLHEP::Hep3Vector G4ThreeVector
G4bool SetDetectorField(G4Field *detectorField)
static G4TransportationManager * GetTransportationManager()
G4FieldManager * GetFieldManager() const
void CreateChordFinder(G4MagneticField *detectorMagField)
void GammaRayTelDetectorConstruction::SetNbOfCALBars ( G4int  val)

Definition at line 892 of file GammaRayTelDetectorConstruction.cc.

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

893 {
894  NbOfCALBars = val;
895 }
void GammaRayTelDetectorConstruction::SetNbOfCALLayers ( G4int  val)

Definition at line 887 of file GammaRayTelDetectorConstruction.cc.

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

888 {
889  NbOfCALLayers = val;
890 }
void GammaRayTelDetectorConstruction::SetNbOfTKRLayers ( G4int  val)

Definition at line 863 of file GammaRayTelDetectorConstruction.cc.

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

864 {
865  NbOfTKRLayers = val;
866 }
void GammaRayTelDetectorConstruction::SetNbOfTKRTiles ( G4int  val)

Definition at line 869 of file GammaRayTelDetectorConstruction.cc.

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

870 {
871  NbOfTKRTiles = val;
872 }
void GammaRayTelDetectorConstruction::SetTKRLayerDistance ( G4double  val)

Definition at line 874 of file GammaRayTelDetectorConstruction.cc.

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

875 {
876  TKRLayerDistance = val;
877 }
void GammaRayTelDetectorConstruction::SetTKRSiliconPitch ( G4double  val)

Definition at line 851 of file GammaRayTelDetectorConstruction.cc.

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

852 {
853  TKRSiliconPitch = val;
854 }
void GammaRayTelDetectorConstruction::SetTKRSiliconThickness ( G4double  val)

Definition at line 845 of file GammaRayTelDetectorConstruction.cc.

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

846 {
847  TKRSiliconThickness = val;
848 }
void GammaRayTelDetectorConstruction::SetTKRTileSizeXY ( G4double  val)

Definition at line 857 of file GammaRayTelDetectorConstruction.cc.

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

858 {
859  TKRSiliconTileXY = val;
860 }
void GammaRayTelDetectorConstruction::SetTKRViewsDistance ( G4double  val)

Definition at line 879 of file GammaRayTelDetectorConstruction.cc.

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

880 {
881  TKRViewsDistance = val;
882 }
void GammaRayTelDetectorConstruction::UpdateGeometry ( )

Definition at line 931 of file GammaRayTelDetectorConstruction.cc.

References G4RunManager::DefineWorldVolume(), G4RegionStore::GetInstance(), G4RunManager::GetRunManager(), G4RunManager::PhysicsHasBeenModified(), and G4RegionStore::UpdateMaterialList().

Referenced by GammaRayTelDetectorMessenger::SetNewValue().

932 {
933  // delete payloadSD;
934  G4RunManager::GetRunManager()->DefineWorldVolume(ConstructPayload());
937 
938 
939 }
void UpdateMaterialList(G4VPhysicalVolume *currentWorld=0)
virtual void DefineWorldVolume(G4VPhysicalVolume *worldVol, G4bool topologyIsChanged=true)
static G4RegionStore * GetInstance()
void PhysicsHasBeenModified()
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74

The documentation for this class was generated from the following files: