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;
238 density = universe_mean_density;
240 temperature = 2.73*
kelvin;
243 density = 1.e-5*
g/
cm3;
244 pressure = 2.e-2*
bar;
245 temperature = STP_Temperature;
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),
866 (
"AnticoincidenceSD");
893 G4cout <<
"\n------------------------------------------------------------"
894 <<
"\n---> The Tracker is " <<
NbOfTKRLayers <<
" layers of: "
896 <<
"\n------------------------------------------------------------\n";
994 std::stringstream
sss;
995 sss <<
"/globalField/setValue 0 0 " << fieldValue/
tesla <<
" tesla";
G4LogicalVolume * logicCALDetectorY
static G4ThreadLocal G4GlobalMagFieldMessenger * fMagFieldMessenger
G4LogicalVolume * logicTKRDetectorY
void SetVerboseLevel(G4int verboseLevel)
void SetNbOfCALLayers(G4int)
G4VPhysicalVolume * physiPayload
~GammaRayTelDetectorConstruction()
G4LogicalVolume * logicTKRStripY
G4Box * solidTKRDetectorY
void SetForceWireframe(G4bool)
void UpdateMaterialList(G4VPhysicalVolume *currentWorld=0)
void SetNbOfTKRLayers(G4int)
G4LogicalVolume * logicACT
CLHEP::Hep3Vector G4ThreeVector
void SetCALBarThickness(G4double)
void SetTKRSiliconThickness(G4double)
void AddMaterial(G4Material *material, G4double fraction)
G4LogicalVolume * logicPlane
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
G4LogicalVolume * logicTKRStripX
G4LogicalVolume * logicCALLayerX
G4double TKRSupportThickness
const G4String & GetName() const
G4VPhysicalVolume * physiTKRDetectorX
void SetVisibility(G4bool)
G4double TKRLayerDistance
G4Box * solidCALDetectorY
static G4MaterialTable * GetMaterialTable()
G4VPhysicalVolume * physiACL2
G4VPhysicalVolume * physiTKRDetectorY
void SetTKRViewsDistance(G4double)
G4VPhysicalVolume * physiCALLayerY
void SetForceSolid(G4bool)
G4VPhysicalVolume * physiACT
void SetTKRSiliconPitch(G4double)
G4LogicalVolume * logicTKR
G4VPhysicalVolume * physiWorld
void SetNbOfCALBars(G4int)
void ConstructSDandField()
G4VPhysicalVolume * physiCALDetectorY
G4double TKRViewsDistance
G4LogicalVolume * logicCAL
G4LogicalVolume * logicCALDetectorX
G4VPhysicalVolume * physiConverter
virtual void DefineWorldVolume(G4VPhysicalVolume *worldVol, G4bool topologyIsChanged=true)
G4double SiliconGuardRing
static G4UImanager * GetUIpointer()
void SetConverterMaterial(G4String)
static G4RegionStore * GetInstance()
G4Cache< GammaRayTelAnticoincidenceSD * > anticoincidenceSD
G4Material * ConverterMaterial
G4GLOB_DLL std::ostream G4cout
void SetTKRLayerDistance(G4double)
G4VPhysicalVolume * physiTKR
void PhysicsHasBeenModified()
G4Box * solidCALDetectorX
G4VPhysicalVolume * physiCALDetectorX
void PrintPayloadParameters()
void SetNbOfTKRTiles(G4int)
G4LogicalVolume * logicACL2
GammaRayTelDetectorConstruction()
void SetTKRTileSizeXY(G4double)
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
G4LogicalVolume * logicConverter
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
G4Box * solidTKRDetectorX
static const double kelvin
static G4RunManager * GetRunManager()
static const double micrometer
static const char sss[MAX_N_PAR+2]
G4Cache< GammaRayTelCalorimeterSD * > calorimeterSD
const G4double x[NPOINTSGL]
static const G4VisAttributes Invisible
G4VPhysicalVolume * physiPlane
G4LogicalVolume * logicCALLayerY
G4double TKRSiliconTileXY
G4LogicalVolume * logicWorld
void SetMagField(G4double)
void AddElement(G4Element *element, G4int nAtoms)
G4VPhysicalVolume * Construct()
static const double tesla
void ComputePayloadParameters()
void SetMaterial(G4Material *pMaterial)
void Put(const value_type &val) const
G4LogicalVolume * logicTKRDetectorX
G4Material * defaultMaterial
G4VPhysicalVolume * ConstructPayload()
G4LogicalVolume * logicACL1
G4VPhysicalVolume * physiACL1
void SetVisAttributes(const G4VisAttributes *pVA)
G4Cache< GammaRayTelTrackerSD * > trackerSD
G4VPhysicalVolume * physiCAL
void SetConverterThickness(G4double)
void SetACDThickness(G4double)
G4double TKRSiliconThickness
G4int ApplyCommand(const char *aCommand)
G4VPhysicalVolume * physiCALLayerX
G4double ConverterThickness
GammaRayTelDetectorMessenger * detectorMessenger
G4int NbOfACDLateralTiles
G4LogicalVolume * logicPayload