![]() |
Belle II Software
release-08-02-04
|
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.