Belle II Software
release-08-01-10
|
This class creates the BKLM geometry of the Belle II detector. More...
#include <GeoBKLMCreator.h>
Public Member Functions | |
GeoBKLMCreator () | |
Constructor of the GeoBKLMCreator class. | |
GeoBKLMCreator (GeoBKLMCreator &)=delete | |
Copy constructor is disabled. | |
GeoBKLMCreator & | operator= (GeoBKLMCreator &)=delete |
Assignment operator is disabled. | |
~GeoBKLMCreator () | |
Destructor of the GeoBKLMCreator class. | |
void | create (const GearDir &content, G4LogicalVolume &topVolume, geometry::GeometryTypes type) override |
Creates the objects for the BKLM geometry virtual void create(const GearDir&, G4LogicalVolume&, geometry::GeometryTypes type);. | |
void | createPayloads (const GearDir &content, const IntervalOfValidity &iov) override |
Create the configuration objects and save them in the Database. | |
void | createFromDB (const std::string &name, G4LogicalVolume &topVolume, geometry::GeometryTypes type) override |
Create the geometry from the Database. More... | |
BELLE2_DEFINE_EXCEPTION (DBNotImplemented, "Cannot create geometry from Database.") | |
Exception that will be thrown in createFromDB if member is not yet implemented by creator. | |
Private Member Functions | |
BKLMGeometryPar | createConfiguration (const GearDir ¶m) |
Create a parameter object from the Gearbox XML parameters. | |
void | createGeometry (const BKLMGeometryPar ¶meters, G4LogicalVolume &topVolume, geometry::GeometryTypes type) |
Create the geometry from a parameter object. | |
void | putEndsInEnvelope (G4LogicalVolume *) |
Put the forward and backward ends into the BKLM envelope. | |
void | putSectorsInEnd (G4LogicalVolume *, int) |
Put each sector into the forward or backward end. | |
void | putCapInSector (G4LogicalVolume *, bool) |
Put the cap (at maximum |z|) into each sector. | |
void | putInnerRegionInSector (G4LogicalVolume *, bool, bool) |
Put the inner-radius region into each sector. | |
void | putVoidInInnerRegion (G4LogicalVolume *, bool, bool) |
Put the air void into the inner-radius region. | |
void | putLayer1SupportInInnerVoid (G4LogicalVolume *, bool) |
Put the layer-0 support plate into the inner region's air void (sectors 1..5 only) | |
void | putLayer1BracketsInInnerVoid (G4LogicalVolume *, bool) |
Put the layer-0 support plate's brackets into the inner region's air void (sectors 1..5 only) | |
void | putLayersInSector (G4LogicalVolume *, int, int, bool) |
Put the layers into each sector. | |
void | putChimneyInLayer (G4LogicalVolume *, int) |
Put the solenoid's cooling chimney into the backward top sector. | |
void | putModuleInLayer (G4LogicalVolume *, int, int, int, bool, bool, int) |
Put the module (and enclosing air gap) into each layer. | |
void | putRPCsInInterior (G4LogicalVolume *, int, bool) |
Put the RPCs into each detector module's interior (module is itself in an air gap) | |
void | putScintsInInterior (G4LogicalVolume *, int, int, int, bool) |
Put the scintillators into each detector module's interior (module is itself in an air gap) | |
G4LogicalVolume * | getScintLogical (double, double, double, double) |
Get pointer to scintillator logical volume. | |
G4LogicalVolume * | getMPPCHousingLogical (void) |
Get pointer to MPPC-container logical volume. | |
G4LogicalVolume * | getReadoutContainerLogical (void) |
Get pointer to readout-container logical volume. | |
G4Tubs * | getSolenoidTube (void) |
Get shape corresponding to the solenoid (for subtraction) | |
G4String | logicalName (G4VSolid *) |
convert G4VSolid's name to corresponding G4LogicalVolume name | |
G4String | physicalName (G4LogicalVolume *) |
convert G4LogicalVolume's name to corresponding G4PhysicalVolume name | |
Private Attributes | |
GeometryPar * | m_GeoPar |
Pointer to the BKLM geometry accessor. | |
G4VSensitiveDetector * | m_Sensitive |
Pointer to the BKLM SensitiveDetector processor. | |
double | m_SectorDphi |
Angular extent of one sector. | |
double | m_SectorDz |
Half-length of one sector. | |
double | m_RibShift |
Radial displacement of polygon to create an azimuthal iron rib. | |
G4Polyhedra * | m_CapSolid |
Pointer to solid for cap. | |
G4LogicalVolume * | m_CapLogical [2] |
Pointer to logical volumes for cap [hasChimney]. | |
G4VSolid * | m_InnerIronSolid |
Pointer to solid for inner iron [hasInnerSupport | hasChimney]. | |
G4LogicalVolume * | m_InnerIronLogical [4] |
Pointer to logical volumes for inner iron [hasInnerSupport | hasChimney]. | |
G4VSolid * | m_InnerAirSolid |
Pointer to solid for inner air. | |
G4LogicalVolume * | m_InnerAirLogical [4] |
Pointer to logical volumes for inner air [hasInnerSupport | hasChimney]. | |
G4LogicalVolume * | m_SupportLogical [2] |
Pointer to logical volumes for support structure [hasChimney]. | |
G4LogicalVolume * | m_BracketLogical |
Pointer to logical volume for bracket. | |
G4Polyhedra * | m_LayerIronSolid [BKLMElementNumbers::getMaximalLayerNumber()] |
Pointers to solids for iron in each layer [layer-1]. | |
G4LogicalVolume * | m_LayerIronLogical [12 *BKLMElementNumbers::getMaximalLayerNumber()] |
Pointers to logical volumes for iron in each layer [side/bottom/top | isFlipped | hasChimney | layer-1]. | |
G4Box * | m_LayerGapSolid [2 *BKLMElementNumbers::getMaximalLayerNumber()] |
Pointers to solids for air gap in each layer [hasChimney | layer-1]. | |
G4LogicalVolume * | m_LayerGapLogical [12 *BKLMElementNumbers::getMaximalLayerNumber()] |
Pointers to logical volumes for air gap in each layer [side/bottom/top | isFlipped | hasChimney | layer-1]. | |
G4LogicalVolume * | m_LayerModuleLogical [2 *BKLMElementNumbers::getMaximalLayerNumber()] |
Pointers to logical volumes for detector modules in each layer's air gap [hasChimney | layer-1]. | |
G4Tubs * | m_SectorTube |
Pointer to solid for sector's enclosing tube. | |
G4LogicalVolume * | m_SectorLogical [2][BKLMElementNumbers::getMaximalSectorNumber()] |
Pointers to logical volumes for each sector [fb-1][sector-1]. | |
G4LogicalVolume * | m_MPPCHousingLogical |
Pointer to logical volume for MPPC housing. | |
G4LogicalVolume * | m_ReadoutContainerLogical |
Pointer to logical volume for scint preamplifier/carrier container. | |
G4Tubs * | m_SolenoidTube |
Pointer to solid for solenoid. | |
std::vector< G4LogicalVolume * > | m_ScintLogicals |
Pointers to logical volumes for scintillator strips. | |
std::vector< G4VisAttributes * > | m_VisAttributes |
Vector of pointers to G4VisAttributes objects. | |
std::vector< G4String * > | m_Names |
Vector of pointers to G4String objects (volume names) | |
This class creates the BKLM geometry of the Belle II detector.
Definition at line 43 of file GeoBKLMCreator.h.
|
inlineoverridevirtual |
Create the geometry from the Database.
Check that we found the object and if not report the problem
Reimplemented from CreatorBase.
Definition at line 76 of file GeoBKLMCreator.h.