38 #ifndef GammaRayTelDetectorConstruction_h
39 #define GammaRayTelDetectorConstruction_h 1
179 G4int NbOfACDLateralTiles;
180 G4int NbOfACDTopTiles;
235 G4Box* solidTKRDetectorX;
239 G4Box* solidTKRDetectorY;
243 G4Box* solidCALLayerX;
247 G4Box* solidCALLayerY;
251 G4Box* solidCALDetectorX;
255 G4Box* solidCALDetectorY;
263 G4Box* solidConverter;
285 void DefineMaterials();
286 void ComputePayloadParameters();
292 inline void GammaRayTelDetectorConstruction::ComputePayloadParameters()
296 TKRSupportThickness =TKRLayerDistance -2.*TKRSiliconThickness
297 - TKRViewsDistance - ConverterThickness;
298 TKRSizeXY = NbOfTKRTiles*TKRSiliconTileXY + (NbOfTKRTiles+1)*TilesSeparation;
299 TKRSizeZ = NbOfTKRLayers*TKRLayerDistance;
301 TKRActiveTileXY = TKRSiliconTileXY - 2*SiliconGuardRing;
302 TKRActiveTileZ = TKRSiliconThickness;
303 NbOfTKRStrips =
G4int(TKRActiveTileXY/TKRSiliconPitch);
305 SiliconGuardRing = TKRActiveTileXY - NbOfTKRStrips*TKRSiliconPitch;
306 TKRActiveTileXY = TKRSiliconTileXY - 2*SiliconGuardRing;
308 TKRXStripX = TKRYStripY = TKRSiliconPitch;
309 TKRYStripX = TKRXStripY = TKRActiveTileXY;
310 TKRZStrip = TKRSiliconThickness;
312 CALSizeXY = TKRSizeXY;
313 CALSizeZ = 2.*NbOfCALLayers*CALBarThickness;
316 CALBarY = CALSizeXY/(NbOfCALBars);
317 CALBarZ = CALBarThickness;
319 ACTSizeXY = TKRSizeXY + 2*ACDTKRDistance + 2*ACDThickness;
320 ACTSizeZ = ACDThickness;
322 ACL1SizeX = TKRSizeXY + 2*ACDTKRDistance + ACDThickness;
323 ACL1SizeY = ACDThickness;
324 ACL1SizeZ = TKRSizeZ + CALSizeZ + ACDTKRDistance + CALTKRDistance;
326 ACL2SizeX = ACDThickness;
327 ACL2SizeY = TKRSizeXY + 2*ACDTKRDistance + ACDThickness;
328 ACL2SizeZ = TKRSizeZ + CALSizeZ + ACDTKRDistance + CALTKRDistance;
330 PayloadSizeZ = 1.1*(ACL1SizeZ + ACTSizeZ);
331 PayloadSizeXY = (ACTSizeXY);
333 WorldSizeZ = 1.5*PayloadSizeZ; WorldSizeXY = 1.5*PayloadSizeXY;
G4double GetWorldSizeZ() const
G4double GetTKRSiliconTileXY() const
G4double GetPayloadSizeXY() const
void SetNbOfCALLayers(G4int)
G4int GetNbOfACDLateralTiles() const
~GammaRayTelDetectorConstruction()
G4int GetNbOfACDTopTiles() const
void SetNbOfTKRLayers(G4int)
G4double GetTKRSiliconThickness() const
void SetCALBarThickness(G4double)
G4double GetCALSizeZ() const
void SetTKRSiliconThickness(G4double)
G4Material * GetConverterMaterial() const
G4double GetPayloadSizeZ() const
G4double GetCALTKRDistance() const
G4double GetTKRSizeXY() const
void SetTKRViewsDistance(G4double)
G4double GetTKRActiveTileXY() const
G4int GetNbOfTKRLayers() const
void SetTKRSiliconPitch(G4double)
void SetNbOfCALBars(G4int)
void ConstructSDandField()
G4int GetNbOfCALBars() const
void SetConverterMaterial(G4String)
G4double GetCALBarThickness() const
void SetTKRLayerDistance(G4double)
G4double GetTilesSeparation() const
G4double GetConverterThickness() const
void PrintPayloadParameters()
G4double GetTKRViewsDistance() const
void SetNbOfTKRTiles(G4int)
GammaRayTelDetectorConstruction()
void SetTKRTileSizeXY(G4double)
G4int GetNbOfTKRTiles() const
G4double GetACDThickness() const
G4double GetTKRSizeZ() const
G4double GetSiliconGuardRing() const
G4int GetNbOfTKRStrips() const
void SetMagField(G4double)
G4VPhysicalVolume * Construct()
G4double GetTKRLayerDistance() const
G4int GetNbOfCALLayers() const
G4double GetWorldSizeXY() const
G4double GetTKRActiveTileZ() const
void SetConverterThickness(G4double)
void SetACDThickness(G4double)
G4double GetTKRSiliconPitch() const