75 :solidWorld(0),logicWorld(0),physiWorld(0),
76 solidPayload(0),logicPayload(0),physiPayload(0),
77 solidTKR(0),logicTKR(0),physiTKR(0),
78 solidCAL(0),logicCAL(0),physiCAL(0),
79 solidACT(0),logicACT(0),physiACT(0),
80 solidACL1(0),logicACL1(0),physiACL1(0),
81 solidACL2(0),logicACL2(0),physiACL2(0),
82 solidTKRDetectorX(0),logicTKRDetectorX(0),physiTKRDetectorX(0),
83 solidTKRDetectorY(0),logicTKRDetectorY(0),physiTKRDetectorY(0),
84 solidCALLayerX(0),logicCALLayerX(0),physiCALLayerX(0),
85 solidCALLayerY(0),logicCALLayerY(0),physiCALLayerY(0),
86 solidCALDetectorX(0),logicCALDetectorX(0),physiCALDetectorX(0),
87 solidCALDetectorY(0),logicCALDetectorY(0),physiCALDetectorY(0),
88 solidPlane(0),logicPlane(0),physiPlane(0),
89 solidConverter(0),logicConverter(0),physiConverter(0),
90 logicTKRStripX(0),logicTKRStripY(0)
148 G4int ncomponents, natoms;
190 density = 19.3*
g/
cm3;
199 density = 1.032*
g/
cm3;
204 density = 4.53*
g/
cm3;
213 density = 1.290*
mg/
cm3;
218 density = 2.700*
g/
cm3;
222 density = 2.333*
g/
cm3;
226 density = 7.87*
g/
cm3;
230 density = 11.35*
g/
cm3;
240 temperature = 2.73*
kelvin;
243 density = 1.e-5*
g/
cm3;
244 pressure = 2.e-2*
bar;
492 (i)*TKRLayerDistance),
506 (i)*TKRLayerDistance),
522 (i)*TKRLayerDistance),
533 G4VSolid * solidTKRActiveTileX =
new
538 G4VSolid * solidTKRActiveTileY =
new
545 "Active Tile X",0,0,0);
550 "Active Tile Y",0,0,0);
566 k = i*NbOfTKRTiles + j;
654 (i)*TKRSiliconPitch, 0.),
705 (i)*2*CALBarThickness),
867 (
"AnticoincidenceSD");
894 G4cout <<
"\n------------------------------------------------------------"
895 <<
"\n---> The Tracker is " <<
NbOfTKRLayers <<
" layers of: "
897 <<
"\n------------------------------------------------------------\n";
995 std::stringstream
sss;
996 sss <<
"/globalField/setValue 0 0 " << fieldValue/
tesla <<
" tesla";
static constexpr double kelvin
static G4RunManager * GetRunManager()
G4double ConverterThickness
void SetNbOfCALLayers(G4int)
static constexpr double micrometer
G4VPhysicalVolume * physiConverter
G4LogicalVolume * logicACT
G4VPhysicalVolume * ConstructPayload()
G4Cache< GammaRayTelCalorimeterSD * > calorimeterSD
G4Material * ConverterMaterial
CLHEP::Hep3Vector G4ThreeVector
std::vector< ExP01TrackerHit * > a
G4int NbOfACDLateralTiles
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
static constexpr double STP_Temperature
static G4MaterialTable * GetMaterialTable()
G4Material * defaultMaterial
G4LogicalVolume * logicWorld
static constexpr double mm
void AddNewDetector(G4VSensitiveDetector *aSD)
G4int ApplyCommand(const char *aCommand)
G4Cache< GammaRayTelTrackerSD * > trackerSD
G4LogicalVolume * logicCAL
G4VPhysicalVolume * physiCALDetectorX
G4VPhysicalVolume * physiTKRDetectorX
void SetVerboseLevel(G4int verboseLevel)
G4double TKRViewsDistance
G4LogicalVolume * logicPlane
G4Box * solidTKRDetectorX
void SetNbOfCALBars(G4int)
G4VPhysicalVolume * physiACL2
virtual void DefineWorldVolume(G4VPhysicalVolume *worldVol, G4bool topologyIsChanged=true)
G4double SiliconGuardRing
G4LogicalVolume * logicPayload
static constexpr double universe_mean_density
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
void UpdateMaterialList(G4VPhysicalVolume *currentWorld=0)
GammaRayTelDetectorMessenger * detectorMessenger
static G4UImanager * GetUIpointer()
G4VPhysicalVolume * physiPayload
static const G4VisAttributes & GetInvisible()
const G4String & GetName() const
void SetTKRSiliconPitch(G4double)
G4LogicalVolume * logicCALDetectorY
static const char sss[MAX_N_PAR+2]
static constexpr double g
G4VPhysicalVolume * physiACT
G4VPhysicalVolume * physiCALDetectorY
G4VPhysicalVolume * physiTKR
G4LogicalVolume * logicConverter
G4VPhysicalVolume * physiPlane
G4LogicalVolume * logicACL1
static constexpr double mg
void SetConverterThickness(G4double)
G4VPhysicalVolume * physiWorld
G4double TKRLayerDistance
G4VPhysicalVolume * physiCALLayerX
G4Box * solidCALDetectorY
void SetNbOfTKRTiles(G4int)
void ComputePayloadParameters()
void SetConverterMaterial(G4String)
void SetVisAttributes(const G4VisAttributes *pVA)
static G4ThreadLocal G4GlobalMagFieldMessenger * fMagFieldMessenger
void PrintPayloadParameters()
void Put(const value_type &val) const
void SetTKRViewsDistance(G4double)
void SetForceSolid(G4bool=true)
G4LogicalVolume * logicTKRStripY
G4LogicalVolume * logicTKRDetectorX
G4VPhysicalVolume * physiCALLayerY
void SetVisibility(G4bool=true)
void SetMagField(G4double)
static G4SDManager * GetSDMpointer()
static G4RegionStore * GetInstance()
G4double TKRSupportThickness
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
void SetTKRSiliconThickness(G4double)
G4LogicalVolume * logicCALDetectorX
G4Cache< GammaRayTelAnticoincidenceSD * > anticoincidenceSD
void SetACDThickness(G4double)
G4VPhysicalVolume * physiTKRDetectorY
void AddElement(G4Element *element, G4int nAtoms)
void SetTKRTileSizeXY(G4double)
G4Box * solidCALDetectorX
G4double TKRSiliconThickness
void PhysicsHasBeenModified()
G4GLOB_DLL std::ostream G4cout
static constexpr double cm
void ConstructSDandField()
void SetMaterial(G4Material *pMaterial)
G4VPhysicalVolume * physiACL1
void SetForceWireframe(G4bool=true)
G4VPhysicalVolume * Construct()
G4LogicalVolume * logicTKRStripX
void SetTKRLayerDistance(G4double)
void SetCALBarThickness(G4double)
G4double TKRSiliconTileXY
static constexpr double mole
G4LogicalVolume * logicTKRDetectorY
G4Box * solidTKRDetectorY
void AddMaterial(G4Material *material, G4double fraction)
G4LogicalVolume * logicCALLayerX
GammaRayTelDetectorConstruction()
static constexpr double bar
static constexpr double cm3
G4LogicalVolume * logicTKR
G4LogicalVolume * logicACL2
~GammaRayTelDetectorConstruction()
G4LogicalVolume * logicCALLayerY
void SetNbOfTKRLayers(G4int)
G4VPhysicalVolume * physiCAL
static constexpr double tesla