Belle II Software development
GeometryPar Class Reference

Provides BKLM geometry parameters for simulation, reconstruction etc (from Gearbox or DataBase) More...

#include <GeometryPar.h>

Public Member Functions

bool doBeamBackgroundStudy (void) const
 Get the beam background study flag.
 
double getLayerInnerRadius (int layer) const
 Get the inner radius of specified layer.
 
double getLayerOuterRadius (int layer) const
 Get the outer radius of specified layer.
 
const CLHEP::Hep3Vector getGapHalfSize (int layer, bool hasChimney) const
 Get the size (dx,dy,dz) of the gap [=slot] of specified layer.
 
const CLHEP::Hep3Vector getModuleHalfSize (int layer, bool hasChimney) const
 Get the size (dx,dy,dz) of the detector module of specified layer.
 
const CLHEP::Hep3Vector getModuleInteriorHalfSize1 (int layer, bool hasChimney) const
 Get the size (dx,dy,dz) of the detector module's interior volume 1.
 
const CLHEP::Hep3Vector getModuleInteriorHalfSize2 (int layer, bool hasChimney) const
 Get the size (dx,dy,dz) of the scintillator detector module's polystyrene filler.
 
const CLHEP::Hep3Vector getElectrodeHalfSize (int layer, bool hasChimney) const
 Get the size (dx,dy,dz) of the detector module's electrode of specified layer.
 
const CLHEP::Hep3Vector getGasHalfSize (int layer, bool hasChimney) const
 Get the size (dx,dy,dz) of the detector module's gas gaps of specified layer.
 
const CLHEP::Hep3Vector getAirHalfSize (int layer, bool hasChimney) const
 Get the size (dx,dy,dz) of the scintillator detector module's air filler.
 
const CLHEP::Hep3Vector getScintEnvelopeHalfSize (int layer, bool hasChimney) const
 Get the size (dx,dy,dz) of the scintillator detector module's scintillator envelope.
 
const CLHEP::Hep3Vector getScintEnvelopeOffset (int layer, bool hasChimney) const
 Get the shift (dx,dy,dz) of the scintillator detector module's scintillator envelope within its enclosure.
 
int getScintEnvelopeOffsetSign (int layer) const
 Get the sign (+/-1) of scintillator-envelope's shift along y axis within its enclosing module for MPPC placement -1: shift envelope along -y to place MPPCs at +y, +1: shift envelope along +y to place MPPCs at -y.
 
double getPolystyreneOffsetX (void) const
 Get the radial offset of the scintillator detector module's active envelope due to difference in polystyrene-sheet thicknesses.
 
double getScintTiO2ThicknessTop (void) const
 Get the thickness of the inactive TiO2-polystyrene coating on top (broad) surface of a scintillator strip.
 
double getScintTiO2ThicknessSide (void) const
 Get the thickness of the inactive TiO2-polystyrene coating on side (short) surface of a scintillator strip.
 
double getScintHalfHeight (void) const
 Get the height of the entire volume of a scintillator strip (including TiO2 coating)
 
double getScintHalfWidth (void) const
 Get the height of the entire volume of a scintillator strip (including TiO2 coating)
 
double getScintBoreRadius (void) const
 Get the radius of the cylindrical central bore in a scintillator strip.
 
double getScintFiberRadius (void) const
 Get the radius of the cylindrical central WLS fiber in a scintillator strip.
 
double getGapMiddleRadius (int layer) const
 Get the radial midpoint of the gap of specified layer.
 
double getModuleMiddleRadius (int layer) const
 Get the radial midpoint of the detector module of specified layer.
 
double getActiveMiddleRadius (int section, int sector, int layer) const
 Get the radial midpoint of the detector module's active volume of specified layer.
 
bool getModuleFlip (int section, int sector, int layer) const
 Get the flip (180-degrees about z axis) of a particular BKLM module.
 
double getRotation (void) const
 Get the global rotation angle about z of the entire BKLM.
 
double getOffsetZ (void) const
 Get the global shift along a of the entire BKLM.
 
double getPhi (void) const
 Get the starting angle of the BKLM's polygon shape.
 
double getSolenoidOuterRadius (void) const
 Get the outer radius of the solenoid.
 
int getNSector (void) const
 Get the number of sectors of the BKLM.
 
double getHalfLength (void) const
 Get the half-length along z of the BKLM.
 
double getOuterRadius (void) const
 Get the radius of the inscribed circle of the outer polygon.
 
int getNLayer (void) const
 Get the number of modules in one sector.
 
double getIronNominalHeight (void) const
 Get the nominal height of a layer's structural iron.
 
double getIronActualHeight (void) const
 Get the actual height of a layer's structural iron.
 
double getGap1InnerRadius (void) const
 Get the radius of the inner tangent circle of gap 0 (innermost)
 
double getGap1NominalHeight (void) const
 Get the nominal height of the innermost gap.
 
double getGap1ActualHeight (void) const
 Get the actual height of the innermost gap.
 
double getGap1IronWidth (void) const
 Get the width (at the outer radius) of the adjacent structural iron on either side of innermost gap.
 
double getGapLength (void) const
 Get the length along z of the module gap.
 
double getGapNominalHeight (void) const
 Get the nominal height of the outer gaps.
 
double getGapActualHeight (void) const
 Get the actual height of the outer gaps.
 
double getGapIronWidth (void) const
 Get the width (at the outer radius) of the adjacent structural iron on either side of a gap.
 
double getGapInnerRadius (void) const
 Get the radius of the inner tangent circle of gap 1 (next-to-innermost)
 
int getNZStrips (bool isChimney) const
 Get the number of z-measuring cathode strips in an RPC module.
 
int getNPhiStrips (int layer) const
 Get the number of phi-measuring cathode strips in an RPC module.
 
int getNZScints (bool isChimney) const
 Get the number of z-measuring scintillators in a scintillator module.
 
int getNPhiScints (int layer) const
 Get the number of phi-measuring scintillators in a scintillator module.
 
double getMaximalPhiStripLength () const
 Get maximal phi strip length (for scintillators).
 
double getMaximalZStripLength () const
 Get maximal Z strip length (for scintillators).
 
double getModuleLength (void) const
 Get the length along z of the module.
 
double getModuleLengthChimney (void) const
 Get the length along z of the module.
 
double getModuleCoverHeight (void) const
 Get the height of the module's aluminum cover (2 per module)
 
double getModuleCopperHeight (void) const
 Get the height of the module's readout or ground copper plane (4 per module)
 
double getModuleFoamHeight (void) const
 Get the height of the module's transmission-line foam (2 per module)
 
double getModuleMylarHeight (void) const
 Get the height of the module's insulating mylar (2 per module)
 
double getModuleGlassHeight (void) const
 Get the height of the module's glass electrode (4 per module)
 
double getModuleGasHeight (void) const
 Get the height of the module's gas gap (2 per module)
 
double getModuleHeight (void) const
 Get the height of the module.
 
double getModuleFrameWidth (void) const
 Get the width of the module's perimeter aluminum frame.
 
double getModuleFrameThickness (void) const
 Get the thickness of the module's perimeter aluminum frame.
 
double getModuleGasSpacerWidth (void) const
 Get the width of the module's gas-gap's perimeter spacer.
 
double getModuleElectrodeBorder (void) const
 Get the size of the border between a detector module's perimeter and electrode.
 
const CLHEP::Hep3Vector getChimneyHalfSize (int layer) const
 Get the size of the chimney hole in the specified layer.
 
const CLHEP::Hep3Vector getChimneyPosition (int layer) const
 Get the position of the chimney hole in the specified layer.
 
double getChimneyCoverThickness (void) const
 Get the thickness of the chimney cover plate.
 
double getChimneyHousingInnerRadius (void) const
 Get the inner radius of the chimney housing.
 
double getChimneyHousingOuterRadius (void) const
 Get the outer radius of the chimney housing.
 
double getChimneyShieldInnerRadius (void) const
 Get the inner radius of the chimney radiation shield.
 
double getChimneyShieldOuterRadius (void) const
 Get the outer radius of the chimney radiation shield.
 
double getChimneyPipeInnerRadius (void) const
 Get the inner radius of the chimney pipe.
 
double getChimneyPipeOuterRadius (void) const
 Get the outer radius of the chimney pipe.
 
double getRibThickness (void) const
 Get the thickness of the radial rib that supports the solenoid / inner detectors.
 
double getCablesWidth (void) const
 Get the width of the cable-services channel at each end.
 
double getBraceWidth (void) const
 Get the width of the brace in the middle of the cable-services channel.
 
double getBraceWidthChimney (void) const
 Get the width of the brace in the middle of the cable-services channel in the chimney sector.
 
const CLHEP::Hep3Vector getSupportPlateHalfSize (bool) const
 Get the size of the layer-0 support plate.
 
double getBracketWidth (void) const
 Get the width of the layer-0 support plate's bracket.
 
double getBracketThickness (void) const
 Get the thickness of the layer-0 support plate's bracket.
 
double getBracketLength (void) const
 Get the length of the layer-0 support plate's bracket.
 
double getBracketRibWidth (void) const
 Get the width of the layer-0 support plate's bracket's rib.
 
double getBracketRibThickness (void) const
 Get the thickness of the layer-0 support plate's bracket's rib.
 
double getBracketInnerRadius (void) const
 Get the inner radius of the layer-0 support plate's bracket.
 
double getBracketZPosition (int, bool) const
 Get the position of a layer-0 support plate's bracket.
 
double getBracketCutoutDphi (void) const
 Get the angular width of the layer-0 support plate's bracket's cutout.
 
int getNReadoutStation (void) const
 Get the number of preamplifier readout stations.
 
bool getReadoutStationIsPhi (int station) const
 Get the selector for phi (true) or z (false) readout station.
 
double getReadoutStationPosition (int station) const
 Get the position of each readout station.
 
const CLHEP::Hep3Vector getReadoutContainerHalfSize (void) const
 Get the size (dx,dy,dz) of the readout container.
 
const CLHEP::Hep3Vector getReadoutCarrierHalfSize (void) const
 Get the size (dx,dy,dz) of the carrier card.
 
const CLHEP::Hep3Vector getReadoutPreamplifierHalfSize (void) const
 Get the size (dx,dy,dz) of the preamplifier card.
 
int getNReadoutPreamplifierPosition (void) const
 Get the number of preamplifier positions along the length of the carrier card.
 
double getReadoutPreamplifierPosition (int preamp) const
 Get the position of a preamplifier along the length of the carrier card.
 
const CLHEP::Hep3Vector getReadoutConnectorsHalfSize (void) const
 Get the size (dx,dy,dz) of the readout connectors pair.
 
double getReadoutConnectorsPosition (void) const
 Get the position of the readout connectors pair along the length of the carrier card.
 
double getMPPCHousingRadius (void) const
 Get the MPPC housing radius.
 
double getMPPCHousingHalfLength (void) const
 Get the MPPC housing half-length.
 
double getMPPCHalfLength (void) const
 Get the MPPC half-length.
 
double getMPPCHalfWidth (void) const
 Get the MPPC half-width.
 
double getMPPCHalfHeight (void) const
 Get the MPPC half-height.
 
bool hasRPCs (int layer) const
 Determine if the sensitive detectors in a given layer are RPCs (=true) or scintillators (=false)
 
const ModulefindModule (int section, int sector, int layer) const
 Get the pointer to the definition of a module.
 
const HepGeom::Transform3D getModuleAlignment (int section, int sector, int layer) const
 Get the alignment transformation of a module.
 
const HepGeom::Transform3D getModuleDisplacedGeo (int section, int sector, int layer) const
 Get the displacement transformation of a module.
 

Static Public Member Functions

static GeometryParinstance (void)
 Static method to get a reference to the singleton GeometryPar instance.
 
static GeometryParinstance (const GearDir &)
 Static method to initialize and then get a reference to the singleton GeometryPar instance.
 
static GeometryParinstance (const BKLMGeometryPar &)
 Static method to initialize and then get a reference to the singleton GeometryPar instance from database.
 

Private Member Functions

 GeometryPar (const GearDir &)
 Hidden constructor.
 
 GeometryPar (const Belle2::BKLMGeometryPar &)
 Hidden constructor from database.
 
 GeometryPar (GeometryPar &)
 Hidden copy constructor.
 
GeometryParoperator= (const GeometryPar &)
 Hidden copy assignment.
 
 ~GeometryPar ()
 Hidden destructor.
 
void clear ()
 Clear all geometry parameters.
 
void read (const GearDir &)
 Get geometry parameters from Gearbox.
 
void readFromDB (const BKLMGeometryPar &)
 Get geometry parameters from Conditions Database.
 
void calculate ()
 Calculate additional geometry parameters.
 
void readAlignmentFromDB ()
 Initialize and Updates alignment parameters from DB for reconstruction, that is for Module construction and registers itself for subsequent updates of DB objects to keep the hierarchy up-to-date.
 
void readDisplacedGeoFromDB ()
 Initialize and Updates displacements parameters from DB for geometry constructor, registers itself for subsequent updates of DB objects to keep the hierarchy up-to-date.
 
HepGeom::Transform3D getTransformFromRigidBodyParams (double dU, double dV, double dW, double dAlpha, double dBeta, double dGamma)
 Convert 6 rigid body params (alignment/displacement) to corresponding Transform3D Angles in radians, length units in centimeters.
 

Private Attributes

bool m_DoBeamBackgroundStudy
 Flag for enabling beam background study (=use bkg sensitive-detector function too)
 
double m_Rotation
 Global rotation about z of the BKLM.
 
double m_SectorRotation [2][BKLMElementNumbers::getMaximalSectorNumber()]
 Global rotation angle of a sector.
 
double m_OffsetZ
 Global offset along z of the BKLM.
 
double m_Phi
 Starting angle of the polygon shape.
 
int m_NSector
 Number of sectors (=8 : octagonal)
 
double m_SolenoidOuterRadius
 Outer radius of the solenoid.
 
double m_OuterRadius
 Radius of the circle tangent to the sides of the outer polygon.
 
double m_HalfLength
 Half-length along z of the BKLM.
 
int m_NLayer
 Number of layers in one sector.
 
double m_IronNominalHeight
 Nominal height of a layer's structural iron.
 
double m_IronActualHeight
 Actual height of a layer's structural iron.
 
double m_Gap1InnerRadius
 Radius of the inner tangent circle of the innermost gap.
 
double m_Gap1NominalHeight
 Nominal height of the innermost gap.
 
double m_Gap1ActualHeight
 Actual height of the innermost gap.
 
double m_Layer1Height
 Height of layer 0: internal use only.
 
double m_LayerHeight
 Height of a layer: internal use only.
 
double m_Gap1IronWidth
 Width (at the outer radius) of the adjacent structural iron on either side of innermost gap.
 
double m_GapLength
 Length along z of each gap.
 
double m_GapNominalHeight
 Nominal height of outer gaps.
 
double m_GapActualHeight
 Actual height of outer gaps.
 
double m_GapIronWidth
 Width (at the outer radius) of the adjacent structural iron on either side of a gap.
 
double m_GapInnerRadius
 Radius of the inner tangent circle of virtual gap 0 (assuming equal-height layers)
 
int m_NPhiStrips [BKLMElementNumbers::getMaximalLayerNumber()]
 Number of phi-readout RPC strips in each layer.
 
int m_NPhiScints [BKLMElementNumbers::getMaximalLayerNumber()]
 Number of phi-readout scintillators in each layer.
 
int m_NZStrips
 number of z-measuring cathode strips in a standard RPC module
 
int m_NZStripsChimney
 number of z-measuring cathode strips in a chimney-sector RPC module
 
int m_NZScints
 number of z-measuring scintillators in a standard scintillator module
 
int m_NZScintsChimney
 number of z-measuring scintillators in a chimney-sector scintillator module
 
int m_ScintEnvelopeOffsetSign [BKLMElementNumbers::getMaximalLayerNumber()]
 Sign (+/-1) of scintillator-envelope's shift along y axis within its enclosing module for MPPC placement -1: shift envelope along -y to place MPPCs at +y, +1: shift envelope along +y to place MPPCs at -y.
 
double m_PhiStripWidth [BKLMElementNumbers::getMaximalLayerNumber()]
 Width of the phi strips on each layer.
 
double m_ZStripWidth [BKLMElementNumbers::getMaximalLayerNumber()]
 Width of the z strips on each layer.
 
double m_ZScintDLength [BKLMElementNumbers::getMaximalLayerNumber()][NZSCINT]
 Shortening of the nominal length of the z scintillators.
 
double m_MaximalPhiStripLength = 0
 Maximal phi strip length (for scintillators).
 
double m_MaximalZStripLength = 0
 maximal Z strip length (for scintillators).
 
double m_ModuleLength
 length along z of the module
 
double m_ModuleLengthChimney
 length along z of the module in the chimney sector
 
double m_ModuleCoverHeight
 height of a detector module's aluminum cover
 
double m_ModuleCopperHeight
 height of a detector module's copper readout or ground plane
 
double m_ModuleFoamHeight
 height of a detector module's transmission-line foam
 
double m_ModuleMylarHeight
 height of a detector module's mylar insulation
 
double m_ModuleReadoutHeight
 height of a detector module's readout
 
double m_ModuleGlassHeight
 height of a detector module's glass electrode
 
double m_ModuleGasHeight
 height of a detector module's gas gap
 
double m_ModuleHeight
 height of a detector module
 
double m_ModuleFrameWidth
 width of a detector module's frame ("C" shape - width of horizontal leg)
 
double m_ModuleFrameThickness
 thickness of a detector module's frame ("C" shape - thickness of vertical leg)
 
double m_ModuleGasSpacerWidth
 width of a detector module's spacer
 
double m_ModuleElectrodeBorder
 size of the border between a detector module's perimeter and electrode
 
double m_ModulePolystyreneInnerHeight
 height of the inner polystyrene-filler sheet
 
double m_ModulePolystyreneOuterHeight
 height of the outer polystyrene-filler sheet
 
double m_ScintWidth
 width of one scintillator strip (cm), including the TiO2 coating
 
double m_ScintHeight
 height of one scintillator strip (cm), including the TiO2 coating
 
double m_ScintBoreRadius
 radius (cm) of the central bore in the scintillator strip
 
double m_ScintFiberRadius
 radius (cm) of the central WLS fiber in the scintillator strip
 
double m_ScintTiO2ThicknessTop
 thickness (cm) of the TiO2 coating on the top (and bottom) of the scintillator strip
 
double m_ScintTiO2ThicknessSide
 thickness (cm) of the TiO2 coating on the left (and right) side of the scintillator strip
 
double m_ChimneyLength
 length along z of the chimney hole
 
double m_ChimneyWidth
 width of the chimney hole
 
double m_ChimneyCoverThickness
 thickness of the chimney's iron cover plate
 
double m_ChimneyHousingInnerRadius
 inner radius of the chimney housing
 
double m_ChimneyHousingOuterRadius
 outer radius of the chimney housing
 
double m_ChimneyShieldInnerRadius
 inner radius of the chimney shield
 
double m_ChimneyShieldOuterRadius
 outer radius of the chimney shield
 
double m_ChimneyPipeInnerRadius
 inner radius of the chimney pipe
 
double m_ChimneyPipeOuterRadius
 outer radius of the chimney pipe
 
double m_RibThickness
 thickness of the radial rib that supports the solenoid / inner detectors
 
double m_CablesWidth
 width of the cable-services channel at each end
 
double m_BraceWidth
 width of the central brace in the middle of the cable-services channel
 
double m_BraceWidthChimney
 width of the central brace in the middle of the cable-services channel in the chimney sector
 
double m_SupportPlateWidth
 width of the innermost-module support plate
 
double m_SupportPlateHeight
 height of the innermost-module support plate
 
double m_SupportPlateLength
 length of the innermost-module support plate
 
double m_SupportPlateLengthChimney
 length of the innermost-module support plate in the chimney sector
 
double m_BracketWidth
 width of the innermost-module support plate's bracket
 
double m_BracketThickness
 thickness of the innermost-module support plate's bracket
 
double m_BracketLength
 length of the innermost-module support plate's bracket
 
double m_BracketRibWidth
 width of the innermost-module support plate's bracket's rib
 
double m_BracketRibThickness
 thickness of the innermost-module support plate's bracket's rib
 
double m_BracketInset
 distance from support plate's end of bracket
 
double m_BracketInnerRadius
 inner radius of the innermost-module support plate's bracket
 
double m_BracketCutoutDphi
 angular width of the innermost-module support plate's bracket's cutout
 
int m_NReadoutStation
 Number of preamplifier readout stations.
 
bool m_ReadoutStationIsPhi [NSTATION]
 Selector for phi (true) or z (false) readout station.
 
double m_ReadoutStationPosition [NSTATION]
 Position of each readout station along its relevant axis.
 
double m_ReadoutContainerLength
 Length of the readout station's container.
 
double m_ReadoutContainerWidth
 Width of the readout station's container.
 
double m_ReadoutContainerHeight
 Height of the readout station's container.
 
double m_ReadoutCarrierLength
 Length of the readout carrier card.
 
double m_ReadoutCarrierWidth
 Width of the readout carrier card.
 
double m_ReadoutCarrierHeight
 Height of the readout carrier card.
 
double m_ReadoutPreamplifierLength
 Length of the preamplifier card.
 
double m_ReadoutPreamplifierWidth
 Width of the preamplifier card.
 
double m_ReadoutPreamplifierHeight
 Height of the preamplifier card.
 
std::vector< double > m_ReadoutPreamplifierPosition
 Positions of the preamplifiers along the length of the carrier card.
 
double m_ReadoutConnectorsLength
 Length of the readout connectors pair.
 
double m_ReadoutConnectorsWidth
 Width of the readout connectors pair.
 
double m_ReadoutConnectorsHeight
 Height of the readout connectors pair.
 
double m_ReadoutConnectorsPosition
 Position of the readout connectors pair along the length of the carrier card.
 
double m_MPPCHousingRadius
 MPPC housing radius.
 
double m_MPPCHousingLength
 MPPC housing length.
 
double m_MPPCLength
 MPPC length.
 
double m_MPPCWidth
 MPPC width.
 
double m_MPPCHeight
 MPPC height.
 
bool m_HasRPCs [BKLMElementNumbers::getMaximalLayerNumber()]
 Flag to indicate whether layer contains RPCs (true) or scintillators (false)
 
double m_LocalReconstructionShiftX [2][BKLMElementNumbers::getMaximalSectorNumber()][BKLMElementNumbers::getMaximalLayerNumber()]
 Reconstruction dx in local system. displacement, not alignment.
 
double m_LocalReconstructionShiftY [2][BKLMElementNumbers::getMaximalSectorNumber()][BKLMElementNumbers::getMaximalLayerNumber()]
 Reconstruction dy in local system. displacement, not alignment.
 
double m_LocalReconstructionShiftZ [2][BKLMElementNumbers::getMaximalSectorNumber()][BKLMElementNumbers::getMaximalLayerNumber()]
 Reconstruction dz in local system. displacement, not alignment.
 
bool m_IsFlipped [2][BKLMElementNumbers::getMaximalSectorNumber()][BKLMElementNumbers::getMaximalLayerNumber()]
 Flag to indicate whether a module is flipped (true) or not (false) by 180 degrees about the z axis.
 
std::map< int, Module * > m_Modules
 map of <volumeIDs, pointers to defined modules>
 
std::map< int, HepGeom::Transform3D > m_Alignments
 map of <volumeIDs, alignment Transform3D>
 
std::map< int, HepGeom::Transform3D > m_Displacements
 map of <volumeIDs, displacement Transform3D>
 

Static Private Attributes

static GeometryParm_Instance = nullptr
 static pointer to the singleton instance of this class
 

Detailed Description

Provides BKLM geometry parameters for simulation, reconstruction etc (from Gearbox or DataBase)

Length is measured along the z axis. Height is measured in the r-phi plane along a radial axis at the centre of a polygon side. Width is measured in the r-phi plane along the tangent to a polygon side.

Definition at line 37 of file GeometryPar.h.

Constructor & Destructor Documentation

◆ GeometryPar() [1/2]

GeometryPar ( const GearDir content)
explicitprivate

Hidden constructor.

Definition at line 49 of file GeometryPar.cc.

49 :
53{
54 clear();
55 read(content);
56 calculate();
57}
static constexpr int getMaximalLayerNumber()
Get maximal layer number (1-based).
static constexpr int getMaximalSectorNumber()
Get maximal sector number (1-based).
int m_NLayer
Number of layers in one sector.
Definition: GeometryPar.h:654
void clear()
Clear all geometry parameters.
Definition: GeometryPar.cc:74
void read(const GearDir &)
Get geometry parameters from Gearbox.
Definition: GeometryPar.cc:84
int m_NSector
Number of sectors (=8 : octagonal)
Definition: GeometryPar.h:642
bool m_DoBeamBackgroundStudy
Flag for enabling beam background study (=use bkg sensitive-detector function too)
Definition: GeometryPar.h:627
void calculate()
Calculate additional geometry parameters.
Definition: GeometryPar.cc:394

◆ GeometryPar() [2/2]

GeometryPar ( const Belle2::BKLMGeometryPar element)
explicitprivate

Hidden constructor from database.

Definition at line 59 of file GeometryPar.cc.

59 :
63{
64 clear();
65 readFromDB(element);
66 calculate();
67}
void readFromDB(const BKLMGeometryPar &)
Get geometry parameters from Conditions Database.
Definition: GeometryPar.cc:259

◆ ~GeometryPar()

~GeometryPar ( )
private

Hidden destructor.

Definition at line 69 of file GeometryPar.cc.

70{
71 clear();
72}

Member Function Documentation

◆ calculate()

void calculate ( void  )
private

Calculate additional geometry parameters.

Definition at line 394 of file GeometryPar.cc.

395{
403
404 // set up displaced geometry
406 // set up ReconstructionAlignment, so that those information can pass to Modules
408
409 for (int section = 0; section <= BKLMElementNumbers::getMaximalSectionNumber(); ++section) {
411 for (int sector = 1; sector <= m_NSector; ++sector) {
412 bool hasChimney = (!isForward) && (sector == BKLMElementNumbers::c_ChimneySector);
413 int nZStrips = (hasChimney ? m_NZStripsChimney : m_NZStrips);
414 int nZScints = (hasChimney ? m_NZScintsChimney : m_NZScints);
415 CLHEP::HepRotation rotation;
416 if (!isForward)
417 rotation.rotateX(M_PI);
418 rotation.rotateZ(m_SectorRotation[section][sector - 1]);
419 for (int layer = 1; layer <= m_NLayer; ++layer) {
420 bool isFlipped = m_IsFlipped[section][sector - 1][layer - 1];
421 CLHEP::Hep3Vector localReconstructionShift(m_LocalReconstructionShiftX[section][sector - 1][layer - 1],
422 m_LocalReconstructionShiftY[section][sector - 1][layer - 1],
423 m_LocalReconstructionShiftZ[section][sector - 1][layer - 1]);
424 double dx = getActiveMiddleRadius(section, sector, layer);
425 double dz = getModuleHalfSize(layer, hasChimney).z() - getModuleInteriorHalfSize2(layer, hasChimney).z();
426 CLHEP::Hep3Vector localOrigin(dx, 0.0, dz);
428 section, sector, layer);
429 if (m_HasRPCs[layer - 1]) {
430 localOrigin.setZ(localOrigin.z() + getModuleInteriorHalfSize1(layer, hasChimney).z() - getGasHalfSize(layer, hasChimney).z());
431 Module* pModule = new Module(m_PhiStripWidth[layer - 1],
432 (layer == 1 ? 2 : 1),
433 m_NPhiStrips[layer - 1] - (layer == 1 ? 1 : 0),
434 m_ZStripWidth[layer - 1],
435 nZStrips,
436 CLHEP::Hep3Vector(0.0, 0.0, m_OffsetZ) + rotation(localOrigin),
437 localReconstructionShift,
438 rotation
439 );
440 pModule->setDisplacedGeo(getModuleDisplacedGeo(section, sector, layer));
441 pModule->setAlignment(getModuleAlignment(section, sector, layer));
442 m_Modules.insert(std::pair<int, Module*>(moduleID, pModule));
443 } else {
444 double dy = getScintEnvelopeOffset(layer, hasChimney).y() * getScintEnvelopeOffsetSign(layer) * (isFlipped ? -1.0 : 1.0);
445 localOrigin.setY(dy);
446 Module* pModule = new Module(m_ScintWidth,
447 m_NPhiScints[layer - 1],
449 nZScints,
450 CLHEP::Hep3Vector(0.0, 0.0, m_OffsetZ) + rotation(localOrigin),
451 localReconstructionShift,
452 rotation,
453 isFlipped
454 );
455 pModule->setDisplacedGeo(getModuleDisplacedGeo(section, sector, layer));
456 pModule->setAlignment(getModuleAlignment(section, sector, layer));
457 m_Modules.insert(std::pair<int, Module*>(moduleID, pModule));
458 double base = -0.5 * (m_NPhiScints[layer - 1] + 1) * m_ScintWidth;
459 for (int scint = 1; scint <= m_NPhiScints[layer - 1]; ++scint) {
460 double length = nZScints * m_ScintWidth;
461 if (length > m_MaximalPhiStripLength)
463 pModule->addPhiScint(scint,
464 length,
465 0.0,
466 base + scint * m_ScintWidth
467 );
468 }
469 base = -0.5 * (nZScints + 1) * m_ScintWidth;
470 for (int scint = 1; scint <= nZScints; ++scint) {
471 int scint0 = m_NZScints - getNZScints(hasChimney);
472 double dLength = m_ZScintDLength[layer - 1][scint0 + scint - 1];
473 double length = m_NPhiScints[layer - 1] * m_ScintWidth + dLength;
474 if (length > m_MaximalZStripLength)
475 m_MaximalZStripLength = length;
476 pModule->addZScint(scint,
477 length,
478 -0.5 * dLength,
479 base + scint * m_ScintWidth
480 );
481 }
482 }
483 }
484 }
485 }
486
487}
@ c_ChimneySector
Chimney sector: BB3 in 1-based notation; BB2 in 0-based notation.
static KLMModuleNumber moduleNumber(int section, int sector, int layer, bool fatalError=true)
Get module number.
static constexpr int getMaximalSectionNumber()
Get maximal section number (0-based).
double m_LocalReconstructionShiftX[2][BKLMElementNumbers::getMaximalSectorNumber()][BKLMElementNumbers::getMaximalLayerNumber()]
Reconstruction dx in local system. displacement, not alignment.
Definition: GeometryPar.h:943
double m_GapInnerRadius
Radius of the inner tangent circle of virtual gap 0 (assuming equal-height layers)
Definition: GeometryPar.h:693
double m_ScintWidth
width of one scintillator strip (cm), including the TiO2 coating
Definition: GeometryPar.h:781
double m_LocalReconstructionShiftZ[2][BKLMElementNumbers::getMaximalSectorNumber()][BKLMElementNumbers::getMaximalLayerNumber()]
Reconstruction dz in local system. displacement, not alignment.
Definition: GeometryPar.h:949
int m_NZStripsChimney
number of z-measuring cathode strips in a chimney-sector RPC module
Definition: GeometryPar.h:705
bool m_HasRPCs[BKLMElementNumbers::getMaximalLayerNumber()]
Flag to indicate whether layer contains RPCs (true) or scintillators (false)
Definition: GeometryPar.h:940
double m_MaximalZStripLength
maximal Z strip length (for scintillators).
Definition: GeometryPar.h:730
void readDisplacedGeoFromDB()
Initialize and Updates displacements parameters from DB for geometry constructor, registers itself fo...
Definition: GeometryPar.cc:772
int m_NPhiStrips[BKLMElementNumbers::getMaximalLayerNumber()]
Number of phi-readout RPC strips in each layer.
Definition: GeometryPar.h:696
const CLHEP::Hep3Vector getModuleHalfSize(int layer, bool hasChimney) const
Get the size (dx,dy,dz) of the detector module of specified layer.
Definition: GeometryPar.cc:522
double m_IronActualHeight
Actual height of a layer's structural iron.
Definition: GeometryPar.h:660
double m_ZStripWidth[BKLMElementNumbers::getMaximalLayerNumber()]
Width of the z strips on each layer.
Definition: GeometryPar.h:721
double m_IronNominalHeight
Nominal height of a layer's structural iron.
Definition: GeometryPar.h:657
const HepGeom::Transform3D getModuleAlignment(int section, int sector, int layer) const
Get the alignment transformation of a module.
Definition: GeometryPar.cc:728
const CLHEP::Hep3Vector getModuleInteriorHalfSize1(int layer, bool hasChimney) const
Get the size (dx,dy,dz) of the detector module's interior volume 1.
Definition: GeometryPar.cc:530
double m_ModuleFoamHeight
height of a detector module's transmission-line foam
Definition: GeometryPar.h:745
std::map< int, Module * > m_Modules
map of <volumeIDs, pointers to defined modules>
Definition: GeometryPar.h:955
double m_Gap1NominalHeight
Nominal height of the innermost gap.
Definition: GeometryPar.h:666
const CLHEP::Hep3Vector getScintEnvelopeOffset(int layer, bool hasChimney) const
Get the shift (dx,dy,dz) of the scintillator detector module's scintillator envelope within its enclo...
Definition: GeometryPar.cc:633
double m_ZScintDLength[BKLMElementNumbers::getMaximalLayerNumber()][NZSCINT]
Shortening of the nominal length of the z scintillators.
Definition: GeometryPar.h:724
double m_ModuleMylarHeight
height of a detector module's mylar insulation
Definition: GeometryPar.h:748
int m_NPhiScints[BKLMElementNumbers::getMaximalLayerNumber()]
Number of phi-readout scintillators in each layer.
Definition: GeometryPar.h:699
int getNZScints(bool isChimney) const
Get the number of z-measuring scintillators in a scintillator module.
Definition: GeometryPar.h:274
double m_OffsetZ
Global offset along z of the BKLM.
Definition: GeometryPar.h:636
double m_PhiStripWidth[BKLMElementNumbers::getMaximalLayerNumber()]
Width of the phi strips on each layer.
Definition: GeometryPar.h:718
double m_ModuleGlassHeight
height of a detector module's glass electrode
Definition: GeometryPar.h:754
const CLHEP::Hep3Vector getModuleInteriorHalfSize2(int layer, bool hasChimney) const
Get the size (dx,dy,dz) of the scintillator detector module's polystyrene filler.
Definition: GeometryPar.cc:539
double m_MaximalPhiStripLength
Maximal phi strip length (for scintillators).
Definition: GeometryPar.h:727
double m_ModuleReadoutHeight
height of a detector module's readout
Definition: GeometryPar.h:751
double m_LayerHeight
Height of a layer: internal use only.
Definition: GeometryPar.h:675
int m_NZScintsChimney
number of z-measuring scintillators in a chimney-sector scintillator module
Definition: GeometryPar.h:711
double m_Layer1Height
Height of layer 0: internal use only.
Definition: GeometryPar.h:672
void readAlignmentFromDB()
Initialize and Updates alignment parameters from DB for reconstruction, that is for Module constructi...
Definition: GeometryPar.cc:742
int m_NZStrips
number of z-measuring cathode strips in a standard RPC module
Definition: GeometryPar.h:702
double m_SectorRotation[2][BKLMElementNumbers::getMaximalSectorNumber()]
Global rotation angle of a sector.
Definition: GeometryPar.h:633
double m_ModuleGasHeight
height of a detector module's gas gap
Definition: GeometryPar.h:757
double getActiveMiddleRadius(int section, int sector, int layer) const
Get the radial midpoint of the detector module's active volume of specified layer.
Definition: GeometryPar.cc:607
double m_GapNominalHeight
Nominal height of outer gaps.
Definition: GeometryPar.h:684
double m_Gap1ActualHeight
Actual height of the innermost gap.
Definition: GeometryPar.h:669
double m_ModuleHeight
height of a detector module
Definition: GeometryPar.h:760
const CLHEP::Hep3Vector getGasHalfSize(int layer, bool hasChimney) const
Get the size (dx,dy,dz) of the detector module's gas gaps of specified layer.
Definition: GeometryPar.cc:555
double m_GapActualHeight
Actual height of outer gaps.
Definition: GeometryPar.h:687
double m_LocalReconstructionShiftY[2][BKLMElementNumbers::getMaximalSectorNumber()][BKLMElementNumbers::getMaximalLayerNumber()]
Reconstruction dy in local system. displacement, not alignment.
Definition: GeometryPar.h:946
double m_ModuleCoverHeight
height of a detector module's aluminum cover
Definition: GeometryPar.h:739
double m_Gap1InnerRadius
Radius of the inner tangent circle of the innermost gap.
Definition: GeometryPar.h:663
int getScintEnvelopeOffsetSign(int layer) const
Get the sign (+/-1) of scintillator-envelope's shift along y axis within its enclosing module for MPP...
Definition: GeometryPar.h:91
const HepGeom::Transform3D getModuleDisplacedGeo(int section, int sector, int layer) const
Get the displacement transformation of a module.
Definition: GeometryPar.cc:735
double m_ModuleCopperHeight
height of a detector module's copper readout or ground plane
Definition: GeometryPar.h:742
bool m_IsFlipped[2][BKLMElementNumbers::getMaximalSectorNumber()][BKLMElementNumbers::getMaximalLayerNumber()]
Flag to indicate whether a module is flipped (true) or not (false) by 180 degrees about the z axis.
Definition: GeometryPar.h:952
int m_NZScints
number of z-measuring scintillators in a standard scintillator module
Definition: GeometryPar.h:708
Define the geometry of a BKLM module Each sector [octant] contains Modules.
Definition: Module.h:76
void addZScint(int scint, double length, double offset, double position)
Add one z-measuring scintillator strip to the module.
Definition: Module.cc:243
void setDisplacedGeo(const HepGeom::Transform3D &moduleDisplacedGeo)
Set the displaced geometry Transformation.
Definition: Module.cc:374
void addPhiScint(int scint, double length, double offset, double position)
Add one phi-measuring scintillator strip to the module.
Definition: Module.cc:231
void setAlignment(const HepGeom::Transform3D &moduleAlignment)
Set the alignment Transformation.
Definition: Module.cc:365
bool isForward(int cellId)
Check whether the crystal is in forward ECL.

◆ clear()

void clear ( )
private

Clear all geometry parameters.

Definition at line 74 of file GeometryPar.cc.

75{
76 for (std::map<int, Module*>::iterator m = m_Modules.begin(); m != m_Modules.end(); ++m) { delete m->second; }
77 m_Modules.clear();
78
79 m_Alignments.clear();
80 m_Displacements.clear();
81}
std::map< int, HepGeom::Transform3D > m_Displacements
map of <volumeIDs, displacement Transform3D>
Definition: GeometryPar.h:961
std::map< int, HepGeom::Transform3D > m_Alignments
map of <volumeIDs, alignment Transform3D>
Definition: GeometryPar.h:958

◆ doBeamBackgroundStudy()

bool doBeamBackgroundStudy ( void  ) const
inline

Get the beam background study flag.

Definition at line 51 of file GeometryPar.h.

52 {
54 }

◆ findModule()

const Module * findModule ( int  section,
int  sector,
int  layer 
) const

Get the pointer to the definition of a module.

Definition at line 721 of file GeometryPar.cc.

722{
723 int moduleID = BKLMElementNumbers::moduleNumber(section, sector, layer);
724 std::map<int, Module*>::const_iterator iM = m_Modules.find(moduleID);
725 return (iM == m_Modules.end() ? nullptr : iM->second);
726}

◆ getActiveMiddleRadius()

double getActiveMiddleRadius ( int  section,
int  sector,
int  layer 
) const

Get the radial midpoint of the detector module's active volume of specified layer.

Definition at line 607 of file GeometryPar.cc.

608{
609#ifdef __clang_analyzer__
610 m_NSector = 8;
611#endif
612 // place the active radius midway between the two readout planes
613 // (same as positioning in GeoBKLMCreator.cc)
614 double dx = getModuleMiddleRadius(layer) - getGapMiddleRadius(layer);
615 int s1 = sector - 1;
616 int s2 = m_NSector / 2;
617 if (s1 % s2 == 0) {
618 dx = 0.0;
619 } else if (s1 > s2) {
620 dx = -dx;
621 }
622 double r = getGapMiddleRadius(layer) + dx;
623 if (!hasRPCs(layer)) {
624 if (m_IsFlipped[section][sector - 1][layer - 1]) {
626 } else {
628 }
629 }
630 return r;
631}
bool hasRPCs(int layer) const
Determine if the sensitive detectors in a given layer are RPCs (=true) or scintillators (=false)
Definition: GeometryPar.cc:714
double getPolystyreneOffsetX(void) const
Get the radial offset of the scintillator detector module's active envelope due to difference in poly...
Definition: GeometryPar.cc:586
double getGapMiddleRadius(int layer) const
Get the radial midpoint of the gap of specified layer.
Definition: GeometryPar.cc:591
double getModuleMiddleRadius(int layer) const
Get the radial midpoint of the detector module of specified layer.
Definition: GeometryPar.cc:599

◆ getAirHalfSize()

const CLHEP::Hep3Vector getAirHalfSize ( int  layer,
bool  hasChimney 
) const

Get the size (dx,dy,dz) of the scintillator detector module's air filler.

Definition at line 564 of file GeometryPar.cc.

565{
566 CLHEP::Hep3Vector size = getModuleInteriorHalfSize2(layer, hasChimney);
567 size.setX(m_ScintHeight);
568 return size;
569}
double m_ScintHeight
height of one scintillator strip (cm), including the TiO2 coating
Definition: GeometryPar.h:784

◆ getBraceWidth()

double getBraceWidth ( void  ) const
inline

Get the width of the brace in the middle of the cable-services channel.

Definition at line 433 of file GeometryPar.h.

434 {
435 return m_BraceWidth;
436 }
double m_BraceWidth
width of the central brace in the middle of the cable-services channel
Definition: GeometryPar.h:832

◆ getBraceWidthChimney()

double getBraceWidthChimney ( void  ) const
inline

Get the width of the brace in the middle of the cable-services channel in the chimney sector.

Definition at line 439 of file GeometryPar.h.

440 {
441 return m_BraceWidthChimney;
442 }
double m_BraceWidthChimney
width of the central brace in the middle of the cable-services channel in the chimney sector
Definition: GeometryPar.h:835

◆ getBracketCutoutDphi()

double getBracketCutoutDphi ( void  ) const
inline

Get the angular width of the layer-0 support plate's bracket's cutout.

Definition at line 487 of file GeometryPar.h.

488 {
489 return m_BracketCutoutDphi;
490 }
double m_BracketCutoutDphi
angular width of the innermost-module support plate's bracket's cutout
Definition: GeometryPar.h:871

◆ getBracketInnerRadius()

double getBracketInnerRadius ( void  ) const
inline

Get the inner radius of the layer-0 support plate's bracket.

Definition at line 478 of file GeometryPar.h.

479 {
481 }
double m_BracketInnerRadius
inner radius of the innermost-module support plate's bracket
Definition: GeometryPar.h:868

◆ getBracketLength()

double getBracketLength ( void  ) const
inline

Get the length of the layer-0 support plate's bracket.

Definition at line 460 of file GeometryPar.h.

461 {
462 return m_BracketLength;
463 }
double m_BracketLength
length of the innermost-module support plate's bracket
Definition: GeometryPar.h:856

◆ getBracketRibThickness()

double getBracketRibThickness ( void  ) const
inline

Get the thickness of the layer-0 support plate's bracket's rib.

Definition at line 472 of file GeometryPar.h.

473 {
475 }
double m_BracketRibThickness
thickness of the innermost-module support plate's bracket's rib
Definition: GeometryPar.h:862

◆ getBracketRibWidth()

double getBracketRibWidth ( void  ) const
inline

Get the width of the layer-0 support plate's bracket's rib.

Definition at line 466 of file GeometryPar.h.

467 {
468 return m_BracketRibWidth;
469 }
double m_BracketRibWidth
width of the innermost-module support plate's bracket's rib
Definition: GeometryPar.h:859

◆ getBracketThickness()

double getBracketThickness ( void  ) const
inline

Get the thickness of the layer-0 support plate's bracket.

Definition at line 454 of file GeometryPar.h.

455 {
456 return m_BracketThickness;
457 }
double m_BracketThickness
thickness of the innermost-module support plate's bracket
Definition: GeometryPar.h:853

◆ getBracketWidth()

double getBracketWidth ( void  ) const
inline

Get the width of the layer-0 support plate's bracket.

Definition at line 448 of file GeometryPar.h.

449 {
450 return m_BracketWidth;
451 }
double m_BracketWidth
width of the innermost-module support plate's bracket
Definition: GeometryPar.h:850

◆ getBracketZPosition()

double getBracketZPosition ( int  bracket,
bool  hasChimney 
) const

Get the position of a layer-0 support plate's bracket.

Definition at line 670 of file GeometryPar.cc.

671{
672 double z = m_BracketInset - 0.5 * m_GapLength;
673 if (bracket == 0)
674 return z;
675 if (hasChimney) {
677 } else {
678 return (bracket == 1 ? 0.0 : -z);
679 }
680}
double m_SupportPlateLengthChimney
length of the innermost-module support plate in the chimney sector
Definition: GeometryPar.h:847
double m_BracketInset
distance from support plate's end of bracket
Definition: GeometryPar.h:865
double m_GapLength
Length along z of each gap.
Definition: GeometryPar.h:681

◆ getCablesWidth()

double getCablesWidth ( void  ) const
inline

Get the width of the cable-services channel at each end.

Definition at line 427 of file GeometryPar.h.

428 {
429 return m_CablesWidth;
430 }
double m_CablesWidth
width of the cable-services channel at each end
Definition: GeometryPar.h:829

◆ getChimneyCoverThickness()

double getChimneyCoverThickness ( void  ) const
inline

Get the thickness of the chimney cover plate.

Definition at line 379 of file GeometryPar.h.

380 {
382 }
double m_ChimneyCoverThickness
thickness of the chimney's iron cover plate
Definition: GeometryPar.h:805

◆ getChimneyHalfSize()

const CLHEP::Hep3Vector getChimneyHalfSize ( int  layer) const

Get the size of the chimney hole in the specified layer.

Definition at line 643 of file GeometryPar.cc.

644{
645 return CLHEP::Hep3Vector(0.5 * (getLayerOuterRadius(layer) - getLayerInnerRadius(layer)),
646 0.5 * m_ChimneyWidth,
648}
double getLayerOuterRadius(int layer) const
Get the outer radius of specified layer.
Definition: GeometryPar.cc:500
double m_ChimneyLength
length along z of the chimney hole
Definition: GeometryPar.h:799
double m_ChimneyWidth
width of the chimney hole
Definition: GeometryPar.h:802
double getLayerInnerRadius(int layer) const
Get the inner radius of specified layer.
Definition: GeometryPar.cc:489

◆ getChimneyHousingInnerRadius()

double getChimneyHousingInnerRadius ( void  ) const
inline

Get the inner radius of the chimney housing.

Definition at line 385 of file GeometryPar.h.

386 {
388 }
double m_ChimneyHousingInnerRadius
inner radius of the chimney housing
Definition: GeometryPar.h:808

◆ getChimneyHousingOuterRadius()

double getChimneyHousingOuterRadius ( void  ) const
inline

Get the outer radius of the chimney housing.

Definition at line 391 of file GeometryPar.h.

392 {
394 }
double m_ChimneyHousingOuterRadius
outer radius of the chimney housing
Definition: GeometryPar.h:811

◆ getChimneyPipeInnerRadius()

double getChimneyPipeInnerRadius ( void  ) const
inline

Get the inner radius of the chimney pipe.

Definition at line 409 of file GeometryPar.h.

410 {
412 }
double m_ChimneyPipeInnerRadius
inner radius of the chimney pipe
Definition: GeometryPar.h:820

◆ getChimneyPipeOuterRadius()

double getChimneyPipeOuterRadius ( void  ) const
inline

Get the outer radius of the chimney pipe.

Definition at line 415 of file GeometryPar.h.

416 {
418 }
double m_ChimneyPipeOuterRadius
outer radius of the chimney pipe
Definition: GeometryPar.h:823

◆ getChimneyPosition()

const CLHEP::Hep3Vector getChimneyPosition ( int  layer) const

Get the position of the chimney hole in the specified layer.

Definition at line 650 of file GeometryPar.cc.

651{
652 return CLHEP::Hep3Vector(0.5 * (getLayerOuterRadius(layer) + getLayerInnerRadius(layer)),
653 0.0,
655}

◆ getChimneyShieldInnerRadius()

double getChimneyShieldInnerRadius ( void  ) const
inline

Get the inner radius of the chimney radiation shield.

Definition at line 397 of file GeometryPar.h.

398 {
400 }
double m_ChimneyShieldInnerRadius
inner radius of the chimney shield
Definition: GeometryPar.h:814

◆ getChimneyShieldOuterRadius()

double getChimneyShieldOuterRadius ( void  ) const
inline

Get the outer radius of the chimney radiation shield.

Definition at line 403 of file GeometryPar.h.

404 {
406 }
double m_ChimneyShieldOuterRadius
outer radius of the chimney shield
Definition: GeometryPar.h:817

◆ getElectrodeHalfSize()

const CLHEP::Hep3Vector getElectrodeHalfSize ( int  layer,
bool  hasChimney 
) const

Get the size (dx,dy,dz) of the detector module's electrode of specified layer.

Definition at line 548 of file GeometryPar.cc.

549{
550 CLHEP::Hep3Vector size = getModuleInteriorHalfSize1(layer, hasChimney);
551 size.setX(2.0 * m_ModuleGlassHeight + m_ModuleGasHeight);
552 return size;
553}

◆ getGap1ActualHeight()

double getGap1ActualHeight ( void  ) const
inline

Get the actual height of the innermost gap.

Definition at line 223 of file GeometryPar.h.

224 {
225 return m_Gap1ActualHeight;
226 }

◆ getGap1InnerRadius()

double getGap1InnerRadius ( void  ) const
inline

Get the radius of the inner tangent circle of gap 0 (innermost)

Definition at line 211 of file GeometryPar.h.

212 {
213 return m_Gap1InnerRadius;
214 }

◆ getGap1IronWidth()

double getGap1IronWidth ( void  ) const
inline

Get the width (at the outer radius) of the adjacent structural iron on either side of innermost gap.

Definition at line 229 of file GeometryPar.h.

230 {
231 return m_Gap1IronWidth;
232 }
double m_Gap1IronWidth
Width (at the outer radius) of the adjacent structural iron on either side of innermost gap.
Definition: GeometryPar.h:678

◆ getGap1NominalHeight()

double getGap1NominalHeight ( void  ) const
inline

Get the nominal height of the innermost gap.

Definition at line 217 of file GeometryPar.h.

218 {
219 return m_Gap1NominalHeight;
220 }

◆ getGapActualHeight()

double getGapActualHeight ( void  ) const
inline

Get the actual height of the outer gaps.

Definition at line 247 of file GeometryPar.h.

248 {
249 return m_GapActualHeight;
250 }

◆ getGapHalfSize()

const CLHEP::Hep3Vector getGapHalfSize ( int  layer,
bool  hasChimney 
) const

Get the size (dx,dy,dz) of the gap [=slot] of specified layer.

Definition at line 505 of file GeometryPar.cc.

506{
507 double r, ds, dx;
508 if (layer == 1) {
510 ds = m_Gap1IronWidth;
511 dx = 0.5 * m_Gap1ActualHeight;
512 } else {
514 ds = m_GapIronWidth;
515 dx = 0.5 * m_GapActualHeight;
516 }
517 double dz = 0.5 * (hasChimney ? m_GapLength - m_ChimneyLength : m_GapLength);
518 return CLHEP::Hep3Vector(dx, r * tan(M_PI / m_NSector) - ds, dz);
519
520}
double m_GapIronWidth
Width (at the outer radius) of the adjacent structural iron on either side of a gap.
Definition: GeometryPar.h:690

◆ getGapInnerRadius()

double getGapInnerRadius ( void  ) const
inline

Get the radius of the inner tangent circle of gap 1 (next-to-innermost)

Definition at line 259 of file GeometryPar.h.

260 {
261 return m_GapInnerRadius;
262 }

◆ getGapIronWidth()

double getGapIronWidth ( void  ) const
inline

Get the width (at the outer radius) of the adjacent structural iron on either side of a gap.

Definition at line 253 of file GeometryPar.h.

254 {
255 return m_GapIronWidth;
256 }

◆ getGapLength()

double getGapLength ( void  ) const
inline

Get the length along z of the module gap.

Definition at line 235 of file GeometryPar.h.

236 {
237 return m_GapLength;
238 }

◆ getGapMiddleRadius()

double getGapMiddleRadius ( int  layer) const

Get the radial midpoint of the gap of specified layer.

Definition at line 591 of file GeometryPar.cc.

592{
593 if (layer == 1) {
595 }
596 return m_GapInnerRadius + 0.5 * m_GapActualHeight + m_LayerHeight * (layer - 1);
597}

◆ getGapNominalHeight()

double getGapNominalHeight ( void  ) const
inline

Get the nominal height of the outer gaps.

Definition at line 241 of file GeometryPar.h.

242 {
243 return m_GapNominalHeight;
244 }

◆ getGasHalfSize()

const CLHEP::Hep3Vector getGasHalfSize ( int  layer,
bool  hasChimney 
) const

Get the size (dx,dy,dz) of the detector module's gas gaps of specified layer.

Definition at line 555 of file GeometryPar.cc.

556{
557 CLHEP::Hep3Vector size = getElectrodeHalfSize(layer, hasChimney);
558 size.setX(0.5 * m_ModuleGasHeight);
559 size.setY(size.y() - m_ModuleGasSpacerWidth);
560 size.setZ(size.z() - m_ModuleGasSpacerWidth);
561 return size;
562}
double m_ModuleGasSpacerWidth
width of a detector module's spacer
Definition: GeometryPar.h:769
const CLHEP::Hep3Vector getElectrodeHalfSize(int layer, bool hasChimney) const
Get the size (dx,dy,dz) of the detector module's electrode of specified layer.
Definition: GeometryPar.cc:548

◆ getHalfLength()

double getHalfLength ( void  ) const
inline

Get the half-length along z of the BKLM.

Definition at line 181 of file GeometryPar.h.

182 {
183 return m_HalfLength;
184 }
double m_HalfLength
Half-length along z of the BKLM.
Definition: GeometryPar.h:651

◆ getIronActualHeight()

double getIronActualHeight ( void  ) const
inline

Get the actual height of a layer's structural iron.

Definition at line 205 of file GeometryPar.h.

206 {
207 return m_IronActualHeight;
208 }

◆ getIronNominalHeight()

double getIronNominalHeight ( void  ) const
inline

Get the nominal height of a layer's structural iron.

Definition at line 199 of file GeometryPar.h.

200 {
201 return m_IronNominalHeight;
202 }

◆ getLayerInnerRadius()

double getLayerInnerRadius ( int  layer) const

Get the inner radius of specified layer.

Definition at line 489 of file GeometryPar.cc.

490{
491 if (layer == 1) {
492 return m_Gap1InnerRadius;
493 }
494 if (layer > m_NLayer) {
495 return m_OuterRadius;
496 }
497 return m_GapInnerRadius - (m_IronNominalHeight - m_IronActualHeight) / 2.0 + m_LayerHeight * (layer - 1);
498}
double m_OuterRadius
Radius of the circle tangent to the sides of the outer polygon.
Definition: GeometryPar.h:648

◆ getLayerOuterRadius()

double getLayerOuterRadius ( int  layer) const

Get the outer radius of specified layer.

Definition at line 500 of file GeometryPar.cc.

501{
502 return getLayerInnerRadius(layer + 1);
503}

◆ getMaximalPhiStripLength()

double getMaximalPhiStripLength ( ) const
inline

Get maximal phi strip length (for scintillators).

Definition at line 283 of file GeometryPar.h.

284 {
286 }

◆ getMaximalZStripLength()

double getMaximalZStripLength ( ) const
inline

Get maximal Z strip length (for scintillators).

Definition at line 289 of file GeometryPar.h.

290 {
292 }

◆ getModuleAlignment()

const HepGeom::Transform3D getModuleAlignment ( int  section,
int  sector,
int  layer 
) const

Get the alignment transformation of a module.

Definition at line 728 of file GeometryPar.cc.

729{
730 int moduleID = BKLMElementNumbers::moduleNumber(section, sector, layer);
731 std::map<int, HepGeom::Transform3D>::const_iterator iA = m_Alignments.find(moduleID);
732 return (iA == m_Alignments.end() ? HepGeom::Transform3D() : iA->second);
733}

◆ getModuleCopperHeight()

double getModuleCopperHeight ( void  ) const
inline

Get the height of the module's readout or ground copper plane (4 per module)

Definition at line 313 of file GeometryPar.h.

314 {
316 }

◆ getModuleCoverHeight()

double getModuleCoverHeight ( void  ) const
inline

Get the height of the module's aluminum cover (2 per module)

Definition at line 307 of file GeometryPar.h.

308 {
309 return m_ModuleCoverHeight;
310 }

◆ getModuleDisplacedGeo()

const HepGeom::Transform3D getModuleDisplacedGeo ( int  section,
int  sector,
int  layer 
) const

Get the displacement transformation of a module.

Definition at line 735 of file GeometryPar.cc.

736{
737 int moduleID = BKLMElementNumbers::moduleNumber(section, sector, layer);
738 std::map<int, HepGeom::Transform3D>::const_iterator iDis = m_Displacements.find(moduleID);
739 return (iDis == m_Displacements.end() ? HepGeom::Transform3D() : iDis->second);
740}

◆ getModuleElectrodeBorder()

double getModuleElectrodeBorder ( void  ) const
inline

Get the size of the border between a detector module's perimeter and electrode.

Definition at line 367 of file GeometryPar.h.

368 {
370 }
double m_ModuleElectrodeBorder
size of the border between a detector module's perimeter and electrode
Definition: GeometryPar.h:772

◆ getModuleFlip()

bool getModuleFlip ( int  section,
int  sector,
int  layer 
) const
inline

Get the flip (180-degrees about z axis) of a particular BKLM module.

Definition at line 145 of file GeometryPar.h.

146 {
147 return m_IsFlipped[section][sector - 1][layer - 1];
148 }

◆ getModuleFoamHeight()

double getModuleFoamHeight ( void  ) const
inline

Get the height of the module's transmission-line foam (2 per module)

Definition at line 319 of file GeometryPar.h.

320 {
321 return m_ModuleFoamHeight;
322 }

◆ getModuleFrameThickness()

double getModuleFrameThickness ( void  ) const
inline

Get the thickness of the module's perimeter aluminum frame.

Definition at line 355 of file GeometryPar.h.

356 {
358 }
double m_ModuleFrameThickness
thickness of a detector module's frame ("C" shape - thickness of vertical leg)
Definition: GeometryPar.h:766

◆ getModuleFrameWidth()

double getModuleFrameWidth ( void  ) const
inline

Get the width of the module's perimeter aluminum frame.

Definition at line 349 of file GeometryPar.h.

350 {
351 return m_ModuleFrameWidth;
352 }
double m_ModuleFrameWidth
width of a detector module's frame ("C" shape - width of horizontal leg)
Definition: GeometryPar.h:763

◆ getModuleGasHeight()

double getModuleGasHeight ( void  ) const
inline

Get the height of the module's gas gap (2 per module)

Definition at line 337 of file GeometryPar.h.

338 {
339 return m_ModuleGasHeight;
340 }

◆ getModuleGasSpacerWidth()

double getModuleGasSpacerWidth ( void  ) const
inline

Get the width of the module's gas-gap's perimeter spacer.

Definition at line 361 of file GeometryPar.h.

362 {
364 }

◆ getModuleGlassHeight()

double getModuleGlassHeight ( void  ) const
inline

Get the height of the module's glass electrode (4 per module)

Definition at line 331 of file GeometryPar.h.

332 {
333 return m_ModuleGlassHeight;
334 }

◆ getModuleHalfSize()

const CLHEP::Hep3Vector getModuleHalfSize ( int  layer,
bool  hasChimney 
) const

Get the size (dx,dy,dz) of the detector module of specified layer.

Definition at line 522 of file GeometryPar.cc.

523{
524 CLHEP::Hep3Vector size = getGapHalfSize(layer, hasChimney);
525 size.setX(0.5 * m_ModuleHeight);
526 size.setZ(0.5 * (hasChimney ? m_ModuleLengthChimney : m_ModuleLength));
527 return size;
528}
double m_ModuleLengthChimney
length along z of the module in the chimney sector
Definition: GeometryPar.h:736
const CLHEP::Hep3Vector getGapHalfSize(int layer, bool hasChimney) const
Get the size (dx,dy,dz) of the gap [=slot] of specified layer.
Definition: GeometryPar.cc:505
double m_ModuleLength
length along z of the module
Definition: GeometryPar.h:733

◆ getModuleHeight()

double getModuleHeight ( void  ) const
inline

Get the height of the module.

Definition at line 343 of file GeometryPar.h.

344 {
345 return m_ModuleHeight;
346 }

◆ getModuleInteriorHalfSize1()

const CLHEP::Hep3Vector getModuleInteriorHalfSize1 ( int  layer,
bool  hasChimney 
) const

Get the size (dx,dy,dz) of the detector module's interior volume 1.

Definition at line 530 of file GeometryPar.cc.

531{
532 CLHEP::Hep3Vector size = getModuleHalfSize(layer, hasChimney);
533 size.setX(size.x() - m_ModuleCoverHeight);
534 size.setY(size.y() - m_ModuleFrameWidth);
535 size.setZ(size.z() - m_ModuleFrameWidth);
536 return size;
537}

◆ getModuleInteriorHalfSize2()

const CLHEP::Hep3Vector getModuleInteriorHalfSize2 ( int  layer,
bool  hasChimney 
) const

Get the size (dx,dy,dz) of the scintillator detector module's polystyrene filler.

Definition at line 539 of file GeometryPar.cc.

540{
541 CLHEP::Hep3Vector size = getModuleHalfSize(layer, hasChimney);
542 size.setX(size.x() - m_ModuleFrameThickness - m_ModuleCoverHeight);
543 size.setY(size.y() - m_ModuleFrameThickness);
544 size.setZ(size.z() - m_ModuleFrameThickness);
545 return size;
546}

◆ getModuleLength()

double getModuleLength ( void  ) const
inline

Get the length along z of the module.

Definition at line 295 of file GeometryPar.h.

296 {
297 return m_ModuleLength;
298 }

◆ getModuleLengthChimney()

double getModuleLengthChimney ( void  ) const
inline

Get the length along z of the module.

Definition at line 301 of file GeometryPar.h.

302 {
304 }

◆ getModuleMiddleRadius()

double getModuleMiddleRadius ( int  layer) const

Get the radial midpoint of the detector module of specified layer.

Definition at line 599 of file GeometryPar.cc.

600{
601 if (layer == 1) {
603 }
604 return m_GapInnerRadius + 0.5 * m_GapNominalHeight + m_LayerHeight * (layer - 1);
605}

◆ getModuleMylarHeight()

double getModuleMylarHeight ( void  ) const
inline

Get the height of the module's insulating mylar (2 per module)

Definition at line 325 of file GeometryPar.h.

326 {
327 return m_ModuleMylarHeight;
328 }

◆ getMPPCHalfHeight()

double getMPPCHalfHeight ( void  ) const
inline

Get the MPPC half-height.

Definition at line 565 of file GeometryPar.h.

566 {
567 return 0.5 * m_MPPCHeight;
568 }
double m_MPPCHeight
MPPC height.
Definition: GeometryPar.h:937

◆ getMPPCHalfLength()

double getMPPCHalfLength ( void  ) const
inline

Get the MPPC half-length.

Definition at line 553 of file GeometryPar.h.

554 {
555 return 0.5 * m_MPPCLength;
556 }
double m_MPPCLength
MPPC length.
Definition: GeometryPar.h:931

◆ getMPPCHalfWidth()

double getMPPCHalfWidth ( void  ) const
inline

Get the MPPC half-width.

Definition at line 559 of file GeometryPar.h.

560 {
561 return 0.5 * m_MPPCWidth;
562 }
double m_MPPCWidth
MPPC width.
Definition: GeometryPar.h:934

◆ getMPPCHousingHalfLength()

double getMPPCHousingHalfLength ( void  ) const
inline

Get the MPPC housing half-length.

Definition at line 547 of file GeometryPar.h.

548 {
549 return 0.5 * m_MPPCHousingLength;
550 }
double m_MPPCHousingLength
MPPC housing length.
Definition: GeometryPar.h:928

◆ getMPPCHousingRadius()

double getMPPCHousingRadius ( void  ) const
inline

Get the MPPC housing radius.

Definition at line 541 of file GeometryPar.h.

542 {
543 return m_MPPCHousingRadius;
544 }
double m_MPPCHousingRadius
MPPC housing radius.
Definition: GeometryPar.h:925

◆ getNLayer()

int getNLayer ( void  ) const
inline

Get the number of modules in one sector.

Definition at line 193 of file GeometryPar.h.

194 {
195 return m_NLayer;
196 }

◆ getNPhiScints()

int getNPhiScints ( int  layer) const

Get the number of phi-measuring scintillators in a scintillator module.

Definition at line 579 of file GeometryPar.cc.

580{
581 if ((layer <= 0) || (layer > m_NLayer))
582 return 0;
583 return m_NPhiScints[layer - 1];
584}

◆ getNReadoutPreamplifierPosition()

int getNReadoutPreamplifierPosition ( void  ) const
inline

Get the number of preamplifier positions along the length of the carrier card.

Definition at line 520 of file GeometryPar.h.

521 {
522 return m_ReadoutPreamplifierPosition.size();
523 }
std::vector< double > m_ReadoutPreamplifierPosition
Positions of the preamplifiers along the length of the carrier card.
Definition: GeometryPar.h:910

◆ getNReadoutStation()

int getNReadoutStation ( void  ) const
inline

Get the number of preamplifier readout stations.

Definition at line 493 of file GeometryPar.h.

494 {
495 return m_NReadoutStation;
496 }
int m_NReadoutStation
Number of preamplifier readout stations.
Definition: GeometryPar.h:874

◆ getNSector()

int getNSector ( void  ) const
inline

Get the number of sectors of the BKLM.

Definition at line 175 of file GeometryPar.h.

176 {
177 return m_NSector;
178 }

◆ getNZScints()

int getNZScints ( bool  isChimney) const
inline

Get the number of z-measuring scintillators in a scintillator module.

Definition at line 274 of file GeometryPar.h.

275 {
276 return (isChimney ? m_NZScintsChimney : m_NZScints);
277 }

◆ getNZStrips()

int getNZStrips ( bool  isChimney) const
inline

Get the number of z-measuring cathode strips in an RPC module.

Definition at line 265 of file GeometryPar.h.

266 {
267 return (isChimney ? m_NZStripsChimney : m_NZStrips);
268 }

◆ getOffsetZ()

double getOffsetZ ( void  ) const
inline

Get the global shift along a of the entire BKLM.

Definition at line 157 of file GeometryPar.h.

158 {
159 return m_OffsetZ;
160 }

◆ getOuterRadius()

double getOuterRadius ( void  ) const
inline

Get the radius of the inscribed circle of the outer polygon.

Definition at line 187 of file GeometryPar.h.

188 {
189 return m_OuterRadius;
190 }

◆ getPhi()

double getPhi ( void  ) const
inline

Get the starting angle of the BKLM's polygon shape.

Definition at line 163 of file GeometryPar.h.

164 {
165 return m_Phi;
166 }
double m_Phi
Starting angle of the polygon shape.
Definition: GeometryPar.h:639

◆ getPolystyreneOffsetX()

double getPolystyreneOffsetX ( void  ) const

Get the radial offset of the scintillator detector module's active envelope due to difference in polystyrene-sheet thicknesses.

Definition at line 586 of file GeometryPar.cc.

587{
589}
double m_ModulePolystyreneOuterHeight
height of the outer polystyrene-filler sheet
Definition: GeometryPar.h:778
double m_ModulePolystyreneInnerHeight
height of the inner polystyrene-filler sheet
Definition: GeometryPar.h:775

◆ getReadoutCarrierHalfSize()

const CLHEP::Hep3Vector getReadoutCarrierHalfSize ( void  ) const

Get the size (dx,dy,dz) of the carrier card.

Definition at line 690 of file GeometryPar.cc.

691{
692 return CLHEP::Hep3Vector(0.5 * m_ReadoutCarrierWidth,
695 );
696}
double m_ReadoutCarrierHeight
Height of the readout carrier card.
Definition: GeometryPar.h:898
double m_ReadoutCarrierLength
Length of the readout carrier card.
Definition: GeometryPar.h:892
double m_ReadoutCarrierWidth
Width of the readout carrier card.
Definition: GeometryPar.h:895

◆ getReadoutConnectorsHalfSize()

const CLHEP::Hep3Vector getReadoutConnectorsHalfSize ( void  ) const

Get the size (dx,dy,dz) of the readout connectors pair.

Definition at line 706 of file GeometryPar.cc.

707{
708 return CLHEP::Hep3Vector(0.5 * m_ReadoutConnectorsWidth,
711 );
712}
double m_ReadoutConnectorsHeight
Height of the readout connectors pair.
Definition: GeometryPar.h:919
double m_ReadoutConnectorsLength
Length of the readout connectors pair.
Definition: GeometryPar.h:913
double m_ReadoutConnectorsWidth
Width of the readout connectors pair.
Definition: GeometryPar.h:916

◆ getReadoutConnectorsPosition()

double getReadoutConnectorsPosition ( void  ) const
inline

Get the position of the readout connectors pair along the length of the carrier card.

Definition at line 535 of file GeometryPar.h.

536 {
538 }
double m_ReadoutConnectorsPosition
Position of the readout connectors pair along the length of the carrier card.
Definition: GeometryPar.h:922

◆ getReadoutContainerHalfSize()

const CLHEP::Hep3Vector getReadoutContainerHalfSize ( void  ) const

Get the size (dx,dy,dz) of the readout container.

Definition at line 682 of file GeometryPar.cc.

683{
684 return CLHEP::Hep3Vector(0.5 * m_ReadoutContainerWidth,
687 );
688}
double m_ReadoutContainerHeight
Height of the readout station's container.
Definition: GeometryPar.h:889
double m_ReadoutContainerLength
Length of the readout station's container.
Definition: GeometryPar.h:883
double m_ReadoutContainerWidth
Width of the readout station's container.
Definition: GeometryPar.h:886

◆ getReadoutPreamplifierHalfSize()

const CLHEP::Hep3Vector getReadoutPreamplifierHalfSize ( void  ) const

Get the size (dx,dy,dz) of the preamplifier card.

Definition at line 698 of file GeometryPar.cc.

699{
700 return CLHEP::Hep3Vector(0.5 * m_ReadoutPreamplifierWidth,
703 );
704}
double m_ReadoutPreamplifierWidth
Width of the preamplifier card.
Definition: GeometryPar.h:904
double m_ReadoutPreamplifierHeight
Height of the preamplifier card.
Definition: GeometryPar.h:907
double m_ReadoutPreamplifierLength
Length of the preamplifier card.
Definition: GeometryPar.h:901

◆ getReadoutPreamplifierPosition()

double getReadoutPreamplifierPosition ( int  preamp) const
inline

Get the position of a preamplifier along the length of the carrier card.

Definition at line 526 of file GeometryPar.h.

527 {
528 return m_ReadoutPreamplifierPosition[preamp - 1];
529 }

◆ getReadoutStationIsPhi()

bool getReadoutStationIsPhi ( int  station) const
inline

Get the selector for phi (true) or z (false) readout station.

Definition at line 499 of file GeometryPar.h.

500 {
501 return m_ReadoutStationIsPhi[station - 1];
502 }
bool m_ReadoutStationIsPhi[NSTATION]
Selector for phi (true) or z (false) readout station.
Definition: GeometryPar.h:877

◆ getReadoutStationPosition()

double getReadoutStationPosition ( int  station) const
inline

Get the position of each readout station.

Definition at line 505 of file GeometryPar.h.

506 {
507 return m_ReadoutStationPosition[station - 1];
508 }
double m_ReadoutStationPosition[NSTATION]
Position of each readout station along its relevant axis.
Definition: GeometryPar.h:880

◆ getRibThickness()

double getRibThickness ( void  ) const
inline

Get the thickness of the radial rib that supports the solenoid / inner detectors.

Definition at line 421 of file GeometryPar.h.

422 {
423 return m_RibThickness;
424 }
double m_RibThickness
thickness of the radial rib that supports the solenoid / inner detectors
Definition: GeometryPar.h:826

◆ getRotation()

double getRotation ( void  ) const
inline

Get the global rotation angle about z of the entire BKLM.

Definition at line 151 of file GeometryPar.h.

152 {
153 return m_Rotation;
154 }
double m_Rotation
Global rotation about z of the BKLM.
Definition: GeometryPar.h:630

◆ getScintBoreRadius()

double getScintBoreRadius ( void  ) const
inline

Get the radius of the cylindrical central bore in a scintillator strip.

Definition at line 124 of file GeometryPar.h.

125 {
126 return m_ScintBoreRadius;
127 }
double m_ScintBoreRadius
radius (cm) of the central bore in the scintillator strip
Definition: GeometryPar.h:787

◆ getScintEnvelopeHalfSize()

const CLHEP::Hep3Vector getScintEnvelopeHalfSize ( int  layer,
bool  hasChimney 
) const

Get the size (dx,dy,dz) of the scintillator detector module's scintillator envelope.

Definition at line 571 of file GeometryPar.cc.

572{
573 return CLHEP::Hep3Vector(0.5 * m_ScintHeight,
574 0.5 * m_ScintWidth * getNPhiScints(layer),
575 0.5 * m_ScintWidth * getNZScints(hasChimney)
576 );
577}
int getNPhiScints(int layer) const
Get the number of phi-measuring scintillators in a scintillator module.
Definition: GeometryPar.cc:579

◆ getScintEnvelopeOffset()

const CLHEP::Hep3Vector getScintEnvelopeOffset ( int  layer,
bool  hasChimney 
) const

Get the shift (dx,dy,dz) of the scintillator detector module's scintillator envelope within its enclosure.

Definition at line 633 of file GeometryPar.cc.

634{
635 CLHEP::Hep3Vector airHalfSize = getAirHalfSize(layer, hasChimney);
636 CLHEP::Hep3Vector envelopeHalfSize = getScintEnvelopeHalfSize(layer, hasChimney);
637 CLHEP::Hep3Vector offset((airHalfSize.x() - envelopeHalfSize.x()),
638 (airHalfSize.y() - envelopeHalfSize.y()),
639 -(airHalfSize.z() - envelopeHalfSize.z()));
640 return offset;
641}
const CLHEP::Hep3Vector getScintEnvelopeHalfSize(int layer, bool hasChimney) const
Get the size (dx,dy,dz) of the scintillator detector module's scintillator envelope.
Definition: GeometryPar.cc:571
const CLHEP::Hep3Vector getAirHalfSize(int layer, bool hasChimney) const
Get the size (dx,dy,dz) of the scintillator detector module's air filler.
Definition: GeometryPar.cc:564

◆ getScintEnvelopeOffsetSign()

int getScintEnvelopeOffsetSign ( int  layer) const
inline

Get the sign (+/-1) of scintillator-envelope's shift along y axis within its enclosing module for MPPC placement -1: shift envelope along -y to place MPPCs at +y, +1: shift envelope along +y to place MPPCs at -y.

Definition at line 91 of file GeometryPar.h.

92 {
93 return m_ScintEnvelopeOffsetSign[layer - 1];
94 }
int m_ScintEnvelopeOffsetSign[BKLMElementNumbers::getMaximalLayerNumber()]
Sign (+/-1) of scintillator-envelope's shift along y axis within its enclosing module for MPPC placem...
Definition: GeometryPar.h:715

◆ getScintFiberRadius()

double getScintFiberRadius ( void  ) const
inline

Get the radius of the cylindrical central WLS fiber in a scintillator strip.

Definition at line 130 of file GeometryPar.h.

131 {
132 return m_ScintFiberRadius;
133 }
double m_ScintFiberRadius
radius (cm) of the central WLS fiber in the scintillator strip
Definition: GeometryPar.h:790

◆ getScintHalfHeight()

double getScintHalfHeight ( void  ) const
inline

Get the height of the entire volume of a scintillator strip (including TiO2 coating)

Definition at line 112 of file GeometryPar.h.

113 {
114 return 0.5 * m_ScintHeight;
115 }

◆ getScintHalfWidth()

double getScintHalfWidth ( void  ) const
inline

Get the height of the entire volume of a scintillator strip (including TiO2 coating)

Definition at line 118 of file GeometryPar.h.

119 {
120 return 0.5 * m_ScintWidth;
121 }

◆ getScintTiO2ThicknessSide()

double getScintTiO2ThicknessSide ( void  ) const
inline

Get the thickness of the inactive TiO2-polystyrene coating on side (short) surface of a scintillator strip.

Definition at line 106 of file GeometryPar.h.

107 {
109 }
double m_ScintTiO2ThicknessSide
thickness (cm) of the TiO2 coating on the left (and right) side of the scintillator strip
Definition: GeometryPar.h:796

◆ getScintTiO2ThicknessTop()

double getScintTiO2ThicknessTop ( void  ) const
inline

Get the thickness of the inactive TiO2-polystyrene coating on top (broad) surface of a scintillator strip.

Definition at line 100 of file GeometryPar.h.

101 {
103 }
double m_ScintTiO2ThicknessTop
thickness (cm) of the TiO2 coating on the top (and bottom) of the scintillator strip
Definition: GeometryPar.h:793

◆ getSolenoidOuterRadius()

double getSolenoidOuterRadius ( void  ) const
inline

Get the outer radius of the solenoid.

Definition at line 169 of file GeometryPar.h.

170 {
172 }
double m_SolenoidOuterRadius
Outer radius of the solenoid.
Definition: GeometryPar.h:645

◆ getSupportPlateHalfSize()

const CLHEP::Hep3Vector getSupportPlateHalfSize ( bool  hasChimney) const

Get the size of the layer-0 support plate.

Definition at line 657 of file GeometryPar.cc.

658{
659 CLHEP::Hep3Vector size;
660 size.setX(0.5 * m_SupportPlateHeight);
661 size.setY(0.5 * m_SupportPlateWidth);
662 if (hasChimney) {
663 size.setZ(0.5 * m_SupportPlateLengthChimney);
664 } else {
665 size.setZ(0.5 * m_SupportPlateLength);
666 }
667 return size;
668}
double m_SupportPlateLength
length of the innermost-module support plate
Definition: GeometryPar.h:844
double m_SupportPlateWidth
width of the innermost-module support plate
Definition: GeometryPar.h:838
double m_SupportPlateHeight
height of the innermost-module support plate
Definition: GeometryPar.h:841

◆ getTransformFromRigidBodyParams()

HepGeom::Transform3D getTransformFromRigidBodyParams ( double  dU,
double  dV,
double  dW,
double  dAlpha,
double  dBeta,
double  dGamma 
)
private

Convert 6 rigid body params (alignment/displacement) to corresponding Transform3D Angles in radians, length units in centimeters.

three angles are defined as the intrinsic rotations, that is around u (alpha) --> v' (beta) --> w'' (gamma) axis note this is equivalent with extrinsic rotation with the order w (gamma)--> v(beta) --> u (alpha)

Definition at line 802 of file GeometryPar.cc.

804{
805
806 CLHEP::HepRotation dy = CLHEP::HepRotationY(-dAlpha);
807 CLHEP::HepRotation dz = CLHEP::HepRotationZ(-dBeta);
808 CLHEP::HepRotation dx = CLHEP::HepRotationX(-dGamma);
809 CLHEP::Hep3Vector shift(dW, dU, dV);
810
811 //we do dx-->dz-->dy ( local w-->v-->u), because angles are defined as intrinsic rotations u-->v'-->w''
812 //the equivalent one is extrinsic rotation with the order w (gamma)--> v(beta) --> u (alpha)
813 //and then we map it to global rotation x -> z -> y axis
814 return HepGeom::Transform3D(dy * dz * dx, shift);
815}

◆ hasRPCs()

bool hasRPCs ( int  layer) const

Determine if the sensitive detectors in a given layer are RPCs (=true) or scintillators (=false)

Definition at line 714 of file GeometryPar.cc.

715{
716 if ((layer <= 0) || (layer > m_NLayer))
717 return false;
718 return m_HasRPCs[layer - 1];
719}

◆ instance() [1/3]

GeometryPar * instance ( const BKLMGeometryPar element)
static

Static method to initialize and then get a reference to the singleton GeometryPar instance from database.

Definition at line 42 of file GeometryPar.cc.

43{
44 if (!m_Instance)
45 m_Instance = new GeometryPar(element);
46 return m_Instance;
47}
Provides BKLM geometry parameters for simulation, reconstruction etc (from Gearbox or DataBase)
Definition: GeometryPar.h:37
static GeometryPar * m_Instance
static pointer to the singleton instance of this class
Definition: GeometryPar.h:964

◆ instance() [2/3]

GeometryPar * instance ( const GearDir content)
static

Static method to initialize and then get a reference to the singleton GeometryPar instance.

Definition at line 35 of file GeometryPar.cc.

36{
37 if (!m_Instance)
38 m_Instance = new GeometryPar(content);
39 return m_Instance;
40}

◆ instance() [3/3]

GeometryPar * instance ( void  )
static

Static method to get a reference to the singleton GeometryPar instance.

Definition at line 27 of file GeometryPar.cc.

28{
29 if (m_Instance)
30 return m_Instance;
31 B2FATAL("instance() called without initialization");
32 return nullptr; // never reached
33}

◆ read()

void read ( const GearDir content)
private

Get geometry parameters from Gearbox.

Definition at line 84 of file GeometryPar.cc.

85{
86
87 char name[80] = "";
88 m_DoBeamBackgroundStudy = content.getBool("BeamBackgroundStudy");
89 m_Rotation = content.getAngle("Rotation");
90 m_OffsetZ = content.getLength("OffsetZ");
91 m_Phi = content.getLength("Phi");
92 m_NSector = content.getNumberNodes("Sectors/Forward/Sector");
93 if (m_NSector > BKLMElementNumbers::getMaximalSectorNumber()) { // array-bounds check
94 B2FATAL("BKLM GeometryPar::read(): sector array size exceeded:"
95 << LogVar("# of sectors", m_NSector)
97 }
98 m_SolenoidOuterRadius = content.getLength("SolenoidOuterRadius");
99 m_OuterRadius = content.getLength("OuterRadius");
100 m_HalfLength = content.getLength("HalfLength");
101 m_NLayer = content.getNumberNodes("Layers/Layer");
102 if (m_NLayer > BKLMElementNumbers::getMaximalLayerNumber()) { // array-bounds check
103 B2FATAL("BKLM GeometryPar::read(): layer array size exceeded:"
104 << LogVar("# of layers", m_NLayer)
106 }
107
108 m_IronNominalHeight = content.getLength("Layers/IronNominalHeight");
109 m_IronActualHeight = content.getLength("Layers/IronActualHeight");
110 m_Gap1NominalHeight = content.getLength("Layers/Layer[@layer=\"1\"]/GapNominalHeight");
111 m_GapNominalHeight = content.getLength("Layers/GapNominalHeight");
112 m_Gap1InnerRadius = content.getLength("Layers/InnerRadius");
113 m_Gap1IronWidth = content.getLength("Layers/Layer[@layer=\"1\"]/GapIronWidth");
114 m_GapIronWidth = content.getLength("Layers/GapIronWidth");
115 m_GapLength = content.getLength("Layers/GapLength");
116
117 m_NZStrips = content.getInt("Layers/NZStrips");
118 m_NZStripsChimney = content.getInt("Layers/NZStripsChimney");
119 m_NZScints = content.getInt("Layers/NZScintillators");
120 m_NZScintsChimney = content.getInt("Layers/NZScintillatorsChimney");
121 if (m_NZScints > NZSCINT) { // array-bounds check
122 B2FATAL("BKLM GeometryPar::read(): z-scint array size exceeded:"
123 << LogVar("# of z scintillators", m_NZScints)
124 << LogVar("array size", NZSCINT));
125 }
126 if (m_NZScintsChimney > NZSCINT) { // array-bounds check
127 B2FATAL("BKLM GeometryPar::read(): chimney sector z-scint array size exceeded:"
128 << LogVar("# of z scintillators", m_NZScintsChimney)
129 << LogVar("array size", NZSCINT));
130 }
131
132 m_ModuleLength = content.getLength("Module/Length");
133 m_ModuleLengthChimney = content.getLength("Module/LengthChimney");
134 m_ModuleCoverHeight = content.getLength("Module/CoverHeight");
135 m_ModuleCopperHeight = content.getLength("Module/CopperHeight");
136 m_ModuleFoamHeight = content.getLength("Module/FoamHeight");
137 m_ModuleMylarHeight = content.getLength("Module/MylarHeight");
138 m_ModuleGlassHeight = content.getLength("Module/GlassHeight");
139 m_ModuleGasHeight = content.getLength("Module/GasHeight");
140 m_ModuleFrameWidth = content.getLength("Module/FrameWidth");
141 m_ModuleFrameThickness = content.getLength("Module/FrameThickness");
142 m_ModuleGasSpacerWidth = content.getLength("Module/SpacerWidth");
143 m_ModulePolystyreneInnerHeight = content.getLength("Module/PolystyreneInnerHeight");
144 m_ModulePolystyreneOuterHeight = content.getLength("Module/PolystyreneOuterHeight");
145 m_ScintWidth = content.getLength("Module/Scintillator/Width");
146 m_ScintHeight = content.getLength("Module/Scintillator/Height");
147 m_ScintBoreRadius = content.getLength("Module/Scintillator/BoreRadius");
148 m_ScintFiberRadius = content.getLength("Module/Scintillator/FiberRadius");
149 m_ScintTiO2ThicknessTop = content.getLength("Module/Scintillator/TiO2ThicknessTop");
150 m_ScintTiO2ThicknessSide = content.getLength("Module/Scintillator/TiO2ThicknessSide");
151
152 m_ChimneyLength = content.getLength("Chimney/Length");
153 m_ChimneyWidth = content.getLength("Chimney/Width");
154 m_ChimneyCoverThickness = content.getLength("Chimney/CoverThickness");
155 m_ChimneyHousingInnerRadius = content.getLength("Chimney/HousingInnerRadius");
156 m_ChimneyHousingOuterRadius = content.getLength("Chimney/HousingOuterRadius");
157 m_ChimneyShieldInnerRadius = content.getLength("Chimney/ShieldInnerRadius");
158 m_ChimneyShieldOuterRadius = content.getLength("Chimney/ShieldOuterRadius");
159 m_ChimneyPipeInnerRadius = content.getLength("Chimney/PipeInnerRadius");
160 m_ChimneyPipeOuterRadius = content.getLength("Chimney/PipeOuterRadius");
161
162 m_RibThickness = content.getLength("RibThickness");
163 m_CablesWidth = content.getLength("CablesWidth");
164 m_BraceWidth = content.getLength("BraceWidth");
165 m_BraceWidthChimney = content.getLength("BraceWidthChimney");
166
167 m_SupportPlateWidth = content.getLength("SupportPlateWidth");
168 m_SupportPlateHeight = content.getLength("SupportPlateHeight");
169 m_SupportPlateLength = content.getLength("SupportPlateLength");
170 m_SupportPlateLengthChimney = content.getLength("SupportPlateLengthChimney");
171
172 m_BracketWidth = content.getLength("BracketWidth");
173 m_BracketThickness = content.getLength("BracketThickness");
174 m_BracketLength = content.getLength("BracketLength");
175 m_BracketRibWidth = content.getLength("BracketRibWidth");
176 m_BracketRibThickness = content.getLength("BracketRibThickness");
177 m_BracketInnerRadius = content.getLength("BracketInnerRadius");
178 m_BracketInset = content.getLength("BracketInset");
179 m_BracketCutoutDphi = content.getAngle("BracketCutoutDphi");
180
181 m_NReadoutStation = content.getNumberNodes("Readout/Stations/Station");
182 if (m_NReadoutStation > NSTATION) { // array-bounds check
183 B2FATAL("BKLM GeometryPar::read(): readout stations array size exceeded:"
184 << LogVar("# of readout stations", m_NReadoutStation)
185 << LogVar("array size", NSTATION));
186 }
187 for (int station = 1; station <= m_NReadoutStation; ++station) {
188 sprintf(name, "/Readout/Stations/Station[@station=\"%d\"]", station);
189 GearDir stationContent = content;
190 stationContent.append(name);
191 m_ReadoutStationIsPhi[station - 1] = stationContent.getBool("IsPhi");
192 m_ReadoutStationPosition[station - 1] = stationContent.getLength("Position");
193 }
194 m_ReadoutContainerLength = content.getLength("Readout/Container/Length");
195 m_ReadoutContainerWidth = content.getLength("Readout/Container/Width");
196 m_ReadoutContainerHeight = content.getLength("Readout/Container/Height");
197 m_ReadoutCarrierLength = content.getLength("Readout/Carrier/Length");
198 m_ReadoutCarrierWidth = content.getLength("Readout/Carrier/Width");
199 m_ReadoutCarrierHeight = content.getLength("Readout/Carrier/Height");
200 m_ReadoutPreamplifierLength = content.getLength("Readout/Preamplifier/Length");
201 m_ReadoutPreamplifierWidth = content.getLength("Readout/Preamplifier/Width");
202 m_ReadoutPreamplifierHeight = content.getLength("Readout/Preamplifier/Height");
203 m_ReadoutPreamplifierPosition = content.getArray("Readout/Preamplifier/Position");
204 m_ReadoutConnectorsLength = content.getLength("Readout/Connectors/Length");
205 m_ReadoutConnectorsWidth = content.getLength("Readout/Connectors/Width");
206 m_ReadoutConnectorsHeight = content.getLength("Readout/Connectors/Height");
207 m_ReadoutConnectorsPosition = content.getLength("Readout/Connectors/Position");
208 m_MPPCHousingRadius = content.getLength("Readout/MPPC/Housing/Radius");
209 m_MPPCHousingLength = content.getLength("Readout/MPPC/Housing/Length");
210 m_MPPCLength = content.getLength("Readout/MPPC/Sensor/Length");
211 m_MPPCWidth = content.getLength("Readout/MPPC/Sensor/Width");
212 m_MPPCHeight = content.getLength("Readout/MPPC/Sensor/Height");
213 // by-layer values that are common for all sectors and forward/backward
214 for (int layer = 1; layer <= m_NLayer; ++layer) {
215 sprintf(name, "/Layers/Layer[@layer=\"%d\"]", layer);
216 GearDir layerContent = content;
217 layerContent.append(name);
218 m_HasRPCs[layer - 1] = layerContent.getBool("HasRPCs");
219 m_NPhiStrips[layer - 1] = layerContent.getInt("PhiStrips/NStrips");
220 m_PhiStripWidth[layer - 1] = layerContent.getLength("PhiStrips/Width");
221 m_ZStripWidth[layer - 1] = layerContent.getLength("ZStrips/Width");
222 m_ScintEnvelopeOffsetSign[layer - 1] = layerContent.getInt("ScintEnvelopeOffsetSign");
223 m_NPhiScints[layer - 1] = layerContent.getInt("PhiScintillators/NScints", 0);
224 if (m_NPhiScints[layer - 1] > NPHISCINT) { // array-bounds check
225 B2FATAL("BKLM GeometryPar::read(): phi-scint array size exceeded:"
226 << LogVar("in zero-based layer", layer - 1)
227 << LogVar("# phi scintillators", m_NPhiScints[layer - 1])
228 << LogVar("array size", NPHISCINT));
229 }
230 for (int scint = 1; scint <= m_NZScints; ++scint) {
231 sprintf(name, "/ZScintillators/Scint[@scint=\"%d\"]", scint);
232 GearDir scintContent(layerContent);
233 scintContent.append(name);
234 m_ZScintDLength[layer - 1][scint - 1] = scintContent.getLength("DLength", 0.0);
235 }
236 }
237 // values that depend on fb/sector/layer
238 for (int section = 0; section <= BKLMElementNumbers::getMaximalSectionNumber(); ++section) {
240 for (int sector = 1; sector <= m_NSector; ++sector) {
241 sprintf(name, "/Sectors/%s/Sector[@sector=\"%d\"]", (isForward ? "Forward" : "Backward"), sector);
242 GearDir sectorContent(content);
243 sectorContent.append(name);
244 m_SectorRotation[section][sector - 1] = sectorContent.getAngle("Phi");
245 for (int layer = 1; layer <= m_NLayer; ++layer) {
246 GearDir layerContent(sectorContent);
247 sprintf(name, "/Layer[@layer=\"%d\"]", layer);
248 layerContent.append(name);
249 m_LocalReconstructionShiftX[section][sector - 1][layer - 1] = layerContent.getLength("ReconstructionShift/X");
250 m_LocalReconstructionShiftY[section][sector - 1][layer - 1] = layerContent.getLength("ReconstructionShift/Y");
251 m_LocalReconstructionShiftZ[section][sector - 1][layer - 1] = layerContent.getLength("ReconstructionShift/Z");
252 m_IsFlipped[section][sector - 1][layer - 1] = layerContent.getBool("Flip", false);
253 }
254 }
255 }
256}
Class to store variables with their name which were sent to the logging service.

◆ readAlignmentFromDB()

void readAlignmentFromDB ( )
private

Initialize and Updates alignment parameters from DB for reconstruction, that is for Module construction and registers itself for subsequent updates of DB objects to keep the hierarchy up-to-date.

note that alignment are supposed to only for reconstruction correction, but NOT the geometry constructor

Definition at line 742 of file GeometryPar.cc.

743{
744 DBObjPtr<BKLMAlignment> bklmAlignment;
745 if (!bklmAlignment.isValid())
746 B2FATAL("No BKLM alignment data.");
747 KLMChannelIndex bklmModules(KLMChannelIndex::c_IndexLevelLayer);
748 for (KLMChannelIndex bklmModule = bklmModules.beginBKLM();
749 bklmModule != bklmModules.endBKLM(); ++bklmModule) {
750 KLMModuleNumber module = bklmModule.getKLMModuleNumber();
751 const KLMAlignmentData* alignmentData =
752 bklmAlignment->getModuleAlignment(module);
753 if (alignmentData == nullptr)
754 B2FATAL("Incomplete BKLM alignment data.");
755 HepGeom::Transform3D alignment;
757 alignmentData->getDeltaU(),
758 alignmentData->getDeltaV(),
759 alignmentData->getDeltaW(),
760 alignmentData->getDeltaAlpha(),
761 alignmentData->getDeltaBeta(),
762 alignmentData->getDeltaGamma());
764 bklmModule.getSection(), bklmModule.getSector(),
765 bklmModule.getLayer());
766 m_Alignments.insert(std::pair<int, HepGeom::Transform3D>(moduleID, alignment));
767 }
768 // Add callback to itself.
769 bklmAlignment.addCallback(this, &bklm::GeometryPar::readAlignmentFromDB);
770}
HepGeom::Transform3D getTransformFromRigidBodyParams(double dU, double dV, double dW, double dAlpha, double dBeta, double dGamma)
Convert 6 rigid body params (alignment/displacement) to corresponding Transform3D Angles in radians,...
Definition: GeometryPar.cc:802
uint16_t KLMModuleNumber
Module number.

◆ readDisplacedGeoFromDB()

void readDisplacedGeoFromDB ( )
private

Initialize and Updates displacements parameters from DB for geometry constructor, registers itself for subsequent updates of DB objects to keep the hierarchy up-to-date.

Definition at line 772 of file GeometryPar.cc.

773{
774 DBObjPtr<BKLMAlignment> bklmDisplacement("BKLMDisplacement");
775 if (!bklmDisplacement.isValid())
776 B2FATAL("No BKLM displaced geometry data in database!");
777 KLMChannelIndex bklmModules(KLMChannelIndex::c_IndexLevelLayer);
778 for (KLMChannelIndex bklmModule = bklmModules.beginBKLM();
779 bklmModule != bklmModules.endBKLM(); ++bklmModule) {
780 KLMModuleNumber module = bklmModule.getKLMModuleNumber();
781 const KLMAlignmentData* displacementData =
782 bklmDisplacement->getModuleAlignment(module);
783 if (displacementData == nullptr)
784 B2FATAL("Incomplete BKLM displacement data.");
785 HepGeom::Transform3D displacement;
786 displacement = getTransformFromRigidBodyParams(
787 displacementData->getDeltaU(),
788 displacementData->getDeltaV(),
789 displacementData->getDeltaW(),
790 displacementData->getDeltaAlpha(),
791 displacementData->getDeltaBeta(),
792 displacementData->getDeltaGamma());
794 bklmModule.getSection(), bklmModule.getSector(),
795 bklmModule.getLayer());
796 m_Displacements.insert(std::pair<int, HepGeom::Transform3D>(moduleID, displacement));
797 }
798 // Add callback to itself.
799 bklmDisplacement.addCallback(this, &bklm::GeometryPar::readDisplacedGeoFromDB);
800}

◆ readFromDB()

void readFromDB ( const BKLMGeometryPar element)
private

Get geometry parameters from Conditions Database.

Definition at line 259 of file GeometryPar.cc.

260{
261
262 m_DoBeamBackgroundStudy = element.doBeamBackgroundStudy();
263 m_Rotation = element.getRotation();
264 m_OffsetZ = element.getOffsetZ();
265 m_Phi = element.getPhi();
266 m_NSector = element.getNSector(); // array-bounds check has already been done
267 m_SolenoidOuterRadius = element.getSolenoidOuterRadius();
268 m_OuterRadius = element.getOuterRadius();
269 m_HalfLength = element.getHalfLength();
270 m_NLayer = element.getNLayer(); // array-bounds check has already been done
271
272 m_IronNominalHeight = element.getIronNominalHeight();
273 m_IronActualHeight = element.getIronActualHeight();
274 m_Gap1NominalHeight = element.getGap1NominalHeight();
275 m_GapNominalHeight = element.getGapNominalHeight();
276 m_Gap1InnerRadius = element.getGap1InnerRadius();
277 m_Gap1IronWidth = element.getGap1IronWidth();
278 m_GapIronWidth = element.getGapIronWidth();
279 m_GapLength = element.getGapLength();
280
281 m_NZStrips = element.getNZStrips();
282 m_NZStripsChimney = element.getNZStripsChimney();
283 m_NZScints = element.getNZScints(); // array-bounds check has already been done
284 m_NZScintsChimney = element.getNZScintsChimney(); // array-bounds check has already been done
285
286 m_ModuleLength = element.getModuleLength();
287 m_ModuleLengthChimney = element.getModuleLengthChimney();
288 m_ModuleCoverHeight = element.getModuleCoverHeight();
289 m_ModuleCopperHeight = element.getModuleCopperHeight();
290 m_ModuleFoamHeight = element.getModuleFoamHeight();
291 m_ModuleMylarHeight = element.getModuleMylarHeight();
292 m_ModuleGlassHeight = element.getModuleGlassHeight();
293 m_ModuleGasHeight = element.getModuleGasHeight();
294 m_ModuleFrameWidth = element.getModuleFrameWidth();
295 m_ModuleFrameThickness = element.getModuleFrameThickness();
296 m_ModuleGasSpacerWidth = element.getModuleGasSpacerWidth();
297 m_ModulePolystyreneInnerHeight = element.getModulePolystyreneInnerHeight();
298 m_ModulePolystyreneOuterHeight = element.getModulePolystyreneOuterHeight();
299 m_ScintWidth = element.getScintWidth();
300 m_ScintHeight = element.getScintHeight();
301 m_ScintBoreRadius = element.getScintBoreRadius();
302 m_ScintFiberRadius = element.getScintFiberRadius();
303 m_ScintTiO2ThicknessTop = element.getScintTiO2ThicknessTop();
304 m_ScintTiO2ThicknessSide = element.getScintTiO2ThicknessSide();
305
306 m_ChimneyLength = element.getChimneyLength();
307 m_ChimneyWidth = element.getChimneyWidth();
308 m_ChimneyCoverThickness = element.getChimneyCoverThickness();
309 m_ChimneyHousingInnerRadius = element.getChimneyHousingInnerRadius();
310 m_ChimneyHousingOuterRadius = element.getChimneyHousingOuterRadius();
311 m_ChimneyShieldInnerRadius = element.getChimneyShieldInnerRadius();
312 m_ChimneyShieldOuterRadius = element.getChimneyShieldOuterRadius();
313 m_ChimneyPipeInnerRadius = element.getChimneyPipeInnerRadius();
314 m_ChimneyPipeOuterRadius = element.getChimneyPipeOuterRadius();
315
316 m_RibThickness = element.getRibThickness();
317 m_CablesWidth = element.getCablesWidth();
318 m_BraceWidth = element.getBraceWidth();
319 m_BraceWidthChimney = element.getBraceWidthChimney();
320
321 m_SupportPlateWidth = element.getSupportPlateWidth();
322 m_SupportPlateHeight = element.getSupportPlateHeight();
323 m_SupportPlateLength = element.getSupportPlateLength();
324 m_SupportPlateLengthChimney = element.getSupportPlateLengthChimney();
325
326 m_BracketWidth = element.getBracketWidth();
327 m_BracketThickness = element.getBracketThickness();
328 m_BracketLength = element.getBracketLength();
329 m_BracketRibWidth = element.getBracketRibWidth();
330 m_BracketRibThickness = element.getBracketRibThickness();
331 m_BracketInnerRadius = element.getBracketInnerRadius();
332 m_BracketInset = element.getBracketInset();
333 m_BracketCutoutDphi = element.getBracketCutoutDphi();
334
335 m_NReadoutStation = element.getNReadoutStation(); // array-bounds check has already been done
336 for (int station = 1; station <= m_NReadoutStation; ++station) {
337 m_ReadoutStationIsPhi[station - 1] = element.getReadoutStationIsPhi(station);
338 m_ReadoutStationPosition[station - 1] = element.getReadoutStationPosition(station);
339 }
340 m_ReadoutContainerLength = element.getReadoutContainerLength();
341 m_ReadoutContainerWidth = element.getReadoutContainerWidth();
342 m_ReadoutContainerHeight = element.getReadoutContainerHeight();
343 m_ReadoutCarrierLength = element.getReadoutCarrierLength();
344 m_ReadoutCarrierWidth = element.getReadoutCarrierWidth();
345 m_ReadoutCarrierHeight = element.getReadoutCarrierHeight();
346 m_ReadoutPreamplifierLength = element.getReadoutPreamplifierLength();
347 m_ReadoutPreamplifierWidth = element.getReadoutPreamplifierWidth();
348 m_ReadoutPreamplifierHeight = element.getReadoutPreamplifierHeight();
349 for (int preamp = 1; preamp <= element.getNReadoutPreamplifierPosition(); ++preamp) {
350 m_ReadoutPreamplifierPosition.push_back(element.getReadoutPreamplifierPosition(preamp));
351 }
352 m_ReadoutConnectorsLength = element.getReadoutConnectorsLength();
353 m_ReadoutConnectorsWidth = element.getReadoutConnectorsWidth();
354 m_ReadoutConnectorsHeight = element.getReadoutConnectorsHeight();
355 m_ReadoutConnectorsPosition = element.getReadoutConnectorsPosition();
356 m_MPPCHousingRadius = element.getMPPCHousingRadius();
357 m_MPPCHousingLength = element.getMPPCHousingLength();
358 m_MPPCLength = element.getMPPCLength();
359 m_MPPCWidth = element.getMPPCWidth();
360 m_MPPCHeight = element.getMPPCHeight();
361
362 // by-layer values that are common for all sectors and forward/backward
363 for (int layer = 1; layer <= m_NLayer; ++layer) {
364 m_HasRPCs[layer - 1] = element.hasRPCs(layer);
365 m_NPhiStrips[layer - 1] = element.getNPhiStrips(layer);
366 m_PhiStripWidth[layer - 1] = element.getPhiStripWidth(layer);
367 m_ZStripWidth[layer - 1] = element.getZStripWidth(layer);
368 m_NPhiScints[layer - 1] = (m_HasRPCs[layer - 1] ? 0 : element.getNPhiScints(layer)); // array-bounds check has already been done
369 m_ScintEnvelopeOffsetSign[layer - 1] = (m_HasRPCs[layer - 1] ? 0 : element.getScintEnvelopeOffsetSign(layer));
370 for (int scint = 1; scint <= m_NZScints; ++scint) {
371 m_ZScintDLength[layer - 1][scint - 1] = (m_HasRPCs[layer - 1] ? 0.0 : element.getZScintDLength(layer, scint));
372 }
373 }
374 // values that depend on fb/sector/layer
375 for (int section = 0; section <= BKLMElementNumbers::getMaximalSectionNumber(); ++section) {
376 for (int sector = 1; sector <= m_NSector; ++sector) {
377 m_SectorRotation[section][sector - 1] = element.getSectorRotation(section, sector);
378 for (int layer = 1; layer <= m_NLayer; ++layer) {
379 m_LocalReconstructionShiftX[section][sector - 1][layer - 1] = element.getLocalReconstructionShiftX(section, sector, layer);
380 m_LocalReconstructionShiftY[section][sector - 1][layer - 1] = element.getLocalReconstructionShiftY(section, sector, layer);
381 m_LocalReconstructionShiftZ[section][sector - 1][layer - 1] = element.getLocalReconstructionShiftZ(section, sector, layer);
382 m_IsFlipped[section][sector - 1][layer - 1] = false;
383 if (layer <= NSCINTLAYER) {
384 m_IsFlipped[section][sector - 1][layer - 1] = element.isFlipped(section, sector, layer);
385 }
386 }
387 }
388 }
389
390
391}

Member Data Documentation

◆ m_Alignments

std::map<int, HepGeom::Transform3D> m_Alignments
private

map of <volumeIDs, alignment Transform3D>

Definition at line 958 of file GeometryPar.h.

◆ m_BraceWidth

double m_BraceWidth
private

width of the central brace in the middle of the cable-services channel

Definition at line 832 of file GeometryPar.h.

◆ m_BraceWidthChimney

double m_BraceWidthChimney
private

width of the central brace in the middle of the cable-services channel in the chimney sector

Definition at line 835 of file GeometryPar.h.

◆ m_BracketCutoutDphi

double m_BracketCutoutDphi
private

angular width of the innermost-module support plate's bracket's cutout

Definition at line 871 of file GeometryPar.h.

◆ m_BracketInnerRadius

double m_BracketInnerRadius
private

inner radius of the innermost-module support plate's bracket

Definition at line 868 of file GeometryPar.h.

◆ m_BracketInset

double m_BracketInset
private

distance from support plate's end of bracket

Definition at line 865 of file GeometryPar.h.

◆ m_BracketLength

double m_BracketLength
private

length of the innermost-module support plate's bracket

Definition at line 856 of file GeometryPar.h.

◆ m_BracketRibThickness

double m_BracketRibThickness
private

thickness of the innermost-module support plate's bracket's rib

Definition at line 862 of file GeometryPar.h.

◆ m_BracketRibWidth

double m_BracketRibWidth
private

width of the innermost-module support plate's bracket's rib

Definition at line 859 of file GeometryPar.h.

◆ m_BracketThickness

double m_BracketThickness
private

thickness of the innermost-module support plate's bracket

Definition at line 853 of file GeometryPar.h.

◆ m_BracketWidth

double m_BracketWidth
private

width of the innermost-module support plate's bracket

Definition at line 850 of file GeometryPar.h.

◆ m_CablesWidth

double m_CablesWidth
private

width of the cable-services channel at each end

Definition at line 829 of file GeometryPar.h.

◆ m_ChimneyCoverThickness

double m_ChimneyCoverThickness
private

thickness of the chimney's iron cover plate

Definition at line 805 of file GeometryPar.h.

◆ m_ChimneyHousingInnerRadius

double m_ChimneyHousingInnerRadius
private

inner radius of the chimney housing

Definition at line 808 of file GeometryPar.h.

◆ m_ChimneyHousingOuterRadius

double m_ChimneyHousingOuterRadius
private

outer radius of the chimney housing

Definition at line 811 of file GeometryPar.h.

◆ m_ChimneyLength

double m_ChimneyLength
private

length along z of the chimney hole

Definition at line 799 of file GeometryPar.h.

◆ m_ChimneyPipeInnerRadius

double m_ChimneyPipeInnerRadius
private

inner radius of the chimney pipe

Definition at line 820 of file GeometryPar.h.

◆ m_ChimneyPipeOuterRadius

double m_ChimneyPipeOuterRadius
private

outer radius of the chimney pipe

Definition at line 823 of file GeometryPar.h.

◆ m_ChimneyShieldInnerRadius

double m_ChimneyShieldInnerRadius
private

inner radius of the chimney shield

Definition at line 814 of file GeometryPar.h.

◆ m_ChimneyShieldOuterRadius

double m_ChimneyShieldOuterRadius
private

outer radius of the chimney shield

Definition at line 817 of file GeometryPar.h.

◆ m_ChimneyWidth

double m_ChimneyWidth
private

width of the chimney hole

Definition at line 802 of file GeometryPar.h.

◆ m_Displacements

std::map<int, HepGeom::Transform3D> m_Displacements
private

map of <volumeIDs, displacement Transform3D>

Definition at line 961 of file GeometryPar.h.

◆ m_DoBeamBackgroundStudy

bool m_DoBeamBackgroundStudy
private

Flag for enabling beam background study (=use bkg sensitive-detector function too)

Definition at line 627 of file GeometryPar.h.

◆ m_Gap1ActualHeight

double m_Gap1ActualHeight
private

Actual height of the innermost gap.

Definition at line 669 of file GeometryPar.h.

◆ m_Gap1InnerRadius

double m_Gap1InnerRadius
private

Radius of the inner tangent circle of the innermost gap.

Definition at line 663 of file GeometryPar.h.

◆ m_Gap1IronWidth

double m_Gap1IronWidth
private

Width (at the outer radius) of the adjacent structural iron on either side of innermost gap.

Definition at line 678 of file GeometryPar.h.

◆ m_Gap1NominalHeight

double m_Gap1NominalHeight
private

Nominal height of the innermost gap.

Definition at line 666 of file GeometryPar.h.

◆ m_GapActualHeight

double m_GapActualHeight
private

Actual height of outer gaps.

Definition at line 687 of file GeometryPar.h.

◆ m_GapInnerRadius

double m_GapInnerRadius
private

Radius of the inner tangent circle of virtual gap 0 (assuming equal-height layers)

Definition at line 693 of file GeometryPar.h.

◆ m_GapIronWidth

double m_GapIronWidth
private

Width (at the outer radius) of the adjacent structural iron on either side of a gap.

Definition at line 690 of file GeometryPar.h.

◆ m_GapLength

double m_GapLength
private

Length along z of each gap.

Definition at line 681 of file GeometryPar.h.

◆ m_GapNominalHeight

double m_GapNominalHeight
private

Nominal height of outer gaps.

Definition at line 684 of file GeometryPar.h.

◆ m_HalfLength

double m_HalfLength
private

Half-length along z of the BKLM.

Definition at line 651 of file GeometryPar.h.

◆ m_HasRPCs

bool m_HasRPCs[BKLMElementNumbers::getMaximalLayerNumber()]
private

Flag to indicate whether layer contains RPCs (true) or scintillators (false)

Definition at line 940 of file GeometryPar.h.

◆ m_Instance

GeometryPar * m_Instance = nullptr
staticprivate

static pointer to the singleton instance of this class

Definition at line 964 of file GeometryPar.h.

◆ m_IronActualHeight

double m_IronActualHeight
private

Actual height of a layer's structural iron.

Definition at line 660 of file GeometryPar.h.

◆ m_IronNominalHeight

double m_IronNominalHeight
private

Nominal height of a layer's structural iron.

Definition at line 657 of file GeometryPar.h.

◆ m_IsFlipped

Flag to indicate whether a module is flipped (true) or not (false) by 180 degrees about the z axis.

Definition at line 952 of file GeometryPar.h.

◆ m_Layer1Height

double m_Layer1Height
private

Height of layer 0: internal use only.

Definition at line 672 of file GeometryPar.h.

◆ m_LayerHeight

double m_LayerHeight
private

Height of a layer: internal use only.

Definition at line 675 of file GeometryPar.h.

◆ m_LocalReconstructionShiftX

Reconstruction dx in local system. displacement, not alignment.

Definition at line 943 of file GeometryPar.h.

◆ m_LocalReconstructionShiftY

Reconstruction dy in local system. displacement, not alignment.

Definition at line 946 of file GeometryPar.h.

◆ m_LocalReconstructionShiftZ

Reconstruction dz in local system. displacement, not alignment.

Definition at line 949 of file GeometryPar.h.

◆ m_MaximalPhiStripLength

double m_MaximalPhiStripLength = 0
private

Maximal phi strip length (for scintillators).

Definition at line 727 of file GeometryPar.h.

◆ m_MaximalZStripLength

double m_MaximalZStripLength = 0
private

maximal Z strip length (for scintillators).

Definition at line 730 of file GeometryPar.h.

◆ m_ModuleCopperHeight

double m_ModuleCopperHeight
private

height of a detector module's copper readout or ground plane

Definition at line 742 of file GeometryPar.h.

◆ m_ModuleCoverHeight

double m_ModuleCoverHeight
private

height of a detector module's aluminum cover

Definition at line 739 of file GeometryPar.h.

◆ m_ModuleElectrodeBorder

double m_ModuleElectrodeBorder
private

size of the border between a detector module's perimeter and electrode

Definition at line 772 of file GeometryPar.h.

◆ m_ModuleFoamHeight

double m_ModuleFoamHeight
private

height of a detector module's transmission-line foam

Definition at line 745 of file GeometryPar.h.

◆ m_ModuleFrameThickness

double m_ModuleFrameThickness
private

thickness of a detector module's frame ("C" shape - thickness of vertical leg)

Definition at line 766 of file GeometryPar.h.

◆ m_ModuleFrameWidth

double m_ModuleFrameWidth
private

width of a detector module's frame ("C" shape - width of horizontal leg)

Definition at line 763 of file GeometryPar.h.

◆ m_ModuleGasHeight

double m_ModuleGasHeight
private

height of a detector module's gas gap

Definition at line 757 of file GeometryPar.h.

◆ m_ModuleGasSpacerWidth

double m_ModuleGasSpacerWidth
private

width of a detector module's spacer

Definition at line 769 of file GeometryPar.h.

◆ m_ModuleGlassHeight

double m_ModuleGlassHeight
private

height of a detector module's glass electrode

Definition at line 754 of file GeometryPar.h.

◆ m_ModuleHeight

double m_ModuleHeight
private

height of a detector module

Definition at line 760 of file GeometryPar.h.

◆ m_ModuleLength

double m_ModuleLength
private

length along z of the module

Definition at line 733 of file GeometryPar.h.

◆ m_ModuleLengthChimney

double m_ModuleLengthChimney
private

length along z of the module in the chimney sector

Definition at line 736 of file GeometryPar.h.

◆ m_ModuleMylarHeight

double m_ModuleMylarHeight
private

height of a detector module's mylar insulation

Definition at line 748 of file GeometryPar.h.

◆ m_ModulePolystyreneInnerHeight

double m_ModulePolystyreneInnerHeight
private

height of the inner polystyrene-filler sheet

Definition at line 775 of file GeometryPar.h.

◆ m_ModulePolystyreneOuterHeight

double m_ModulePolystyreneOuterHeight
private

height of the outer polystyrene-filler sheet

Definition at line 778 of file GeometryPar.h.

◆ m_ModuleReadoutHeight

double m_ModuleReadoutHeight
private

height of a detector module's readout

Definition at line 751 of file GeometryPar.h.

◆ m_Modules

std::map<int, Module*> m_Modules
private

map of <volumeIDs, pointers to defined modules>

Definition at line 955 of file GeometryPar.h.

◆ m_MPPCHeight

double m_MPPCHeight
private

MPPC height.

Definition at line 937 of file GeometryPar.h.

◆ m_MPPCHousingLength

double m_MPPCHousingLength
private

MPPC housing length.

Definition at line 928 of file GeometryPar.h.

◆ m_MPPCHousingRadius

double m_MPPCHousingRadius
private

MPPC housing radius.

Definition at line 925 of file GeometryPar.h.

◆ m_MPPCLength

double m_MPPCLength
private

MPPC length.

Definition at line 931 of file GeometryPar.h.

◆ m_MPPCWidth

double m_MPPCWidth
private

MPPC width.

Definition at line 934 of file GeometryPar.h.

◆ m_NLayer

int m_NLayer
private

Number of layers in one sector.

Definition at line 654 of file GeometryPar.h.

◆ m_NPhiScints

int m_NPhiScints[BKLMElementNumbers::getMaximalLayerNumber()]
private

Number of phi-readout scintillators in each layer.

Definition at line 699 of file GeometryPar.h.

◆ m_NPhiStrips

int m_NPhiStrips[BKLMElementNumbers::getMaximalLayerNumber()]
private

Number of phi-readout RPC strips in each layer.

Definition at line 696 of file GeometryPar.h.

◆ m_NReadoutStation

int m_NReadoutStation
private

Number of preamplifier readout stations.

Definition at line 874 of file GeometryPar.h.

◆ m_NSector

int m_NSector
private

Number of sectors (=8 : octagonal)

Definition at line 642 of file GeometryPar.h.

◆ m_NZScints

int m_NZScints
private

number of z-measuring scintillators in a standard scintillator module

Definition at line 708 of file GeometryPar.h.

◆ m_NZScintsChimney

int m_NZScintsChimney
private

number of z-measuring scintillators in a chimney-sector scintillator module

Definition at line 711 of file GeometryPar.h.

◆ m_NZStrips

int m_NZStrips
private

number of z-measuring cathode strips in a standard RPC module

Definition at line 702 of file GeometryPar.h.

◆ m_NZStripsChimney

int m_NZStripsChimney
private

number of z-measuring cathode strips in a chimney-sector RPC module

Definition at line 705 of file GeometryPar.h.

◆ m_OffsetZ

double m_OffsetZ
private

Global offset along z of the BKLM.

Definition at line 636 of file GeometryPar.h.

◆ m_OuterRadius

double m_OuterRadius
private

Radius of the circle tangent to the sides of the outer polygon.

Definition at line 648 of file GeometryPar.h.

◆ m_Phi

double m_Phi
private

Starting angle of the polygon shape.

Definition at line 639 of file GeometryPar.h.

◆ m_PhiStripWidth

double m_PhiStripWidth[BKLMElementNumbers::getMaximalLayerNumber()]
private

Width of the phi strips on each layer.

Definition at line 718 of file GeometryPar.h.

◆ m_ReadoutCarrierHeight

double m_ReadoutCarrierHeight
private

Height of the readout carrier card.

Definition at line 898 of file GeometryPar.h.

◆ m_ReadoutCarrierLength

double m_ReadoutCarrierLength
private

Length of the readout carrier card.

Definition at line 892 of file GeometryPar.h.

◆ m_ReadoutCarrierWidth

double m_ReadoutCarrierWidth
private

Width of the readout carrier card.

Definition at line 895 of file GeometryPar.h.

◆ m_ReadoutConnectorsHeight

double m_ReadoutConnectorsHeight
private

Height of the readout connectors pair.

Definition at line 919 of file GeometryPar.h.

◆ m_ReadoutConnectorsLength

double m_ReadoutConnectorsLength
private

Length of the readout connectors pair.

Definition at line 913 of file GeometryPar.h.

◆ m_ReadoutConnectorsPosition

double m_ReadoutConnectorsPosition
private

Position of the readout connectors pair along the length of the carrier card.

Definition at line 922 of file GeometryPar.h.

◆ m_ReadoutConnectorsWidth

double m_ReadoutConnectorsWidth
private

Width of the readout connectors pair.

Definition at line 916 of file GeometryPar.h.

◆ m_ReadoutContainerHeight

double m_ReadoutContainerHeight
private

Height of the readout station's container.

Definition at line 889 of file GeometryPar.h.

◆ m_ReadoutContainerLength

double m_ReadoutContainerLength
private

Length of the readout station's container.

Definition at line 883 of file GeometryPar.h.

◆ m_ReadoutContainerWidth

double m_ReadoutContainerWidth
private

Width of the readout station's container.

Definition at line 886 of file GeometryPar.h.

◆ m_ReadoutPreamplifierHeight

double m_ReadoutPreamplifierHeight
private

Height of the preamplifier card.

Definition at line 907 of file GeometryPar.h.

◆ m_ReadoutPreamplifierLength

double m_ReadoutPreamplifierLength
private

Length of the preamplifier card.

Definition at line 901 of file GeometryPar.h.

◆ m_ReadoutPreamplifierPosition

std::vector<double> m_ReadoutPreamplifierPosition
private

Positions of the preamplifiers along the length of the carrier card.

Definition at line 910 of file GeometryPar.h.

◆ m_ReadoutPreamplifierWidth

double m_ReadoutPreamplifierWidth
private

Width of the preamplifier card.

Definition at line 904 of file GeometryPar.h.

◆ m_ReadoutStationIsPhi

bool m_ReadoutStationIsPhi[NSTATION]
private

Selector for phi (true) or z (false) readout station.

Definition at line 877 of file GeometryPar.h.

◆ m_ReadoutStationPosition

double m_ReadoutStationPosition[NSTATION]
private

Position of each readout station along its relevant axis.

Definition at line 880 of file GeometryPar.h.

◆ m_RibThickness

double m_RibThickness
private

thickness of the radial rib that supports the solenoid / inner detectors

Definition at line 826 of file GeometryPar.h.

◆ m_Rotation

double m_Rotation
private

Global rotation about z of the BKLM.

Definition at line 630 of file GeometryPar.h.

◆ m_ScintBoreRadius

double m_ScintBoreRadius
private

radius (cm) of the central bore in the scintillator strip

Definition at line 787 of file GeometryPar.h.

◆ m_ScintEnvelopeOffsetSign

int m_ScintEnvelopeOffsetSign[BKLMElementNumbers::getMaximalLayerNumber()]
private

Sign (+/-1) of scintillator-envelope's shift along y axis within its enclosing module for MPPC placement -1: shift envelope along -y to place MPPCs at +y, +1: shift envelope along +y to place MPPCs at -y.

Definition at line 715 of file GeometryPar.h.

◆ m_ScintFiberRadius

double m_ScintFiberRadius
private

radius (cm) of the central WLS fiber in the scintillator strip

Definition at line 790 of file GeometryPar.h.

◆ m_ScintHeight

double m_ScintHeight
private

height of one scintillator strip (cm), including the TiO2 coating

Definition at line 784 of file GeometryPar.h.

◆ m_ScintTiO2ThicknessSide

double m_ScintTiO2ThicknessSide
private

thickness (cm) of the TiO2 coating on the left (and right) side of the scintillator strip

Definition at line 796 of file GeometryPar.h.

◆ m_ScintTiO2ThicknessTop

double m_ScintTiO2ThicknessTop
private

thickness (cm) of the TiO2 coating on the top (and bottom) of the scintillator strip

Definition at line 793 of file GeometryPar.h.

◆ m_ScintWidth

double m_ScintWidth
private

width of one scintillator strip (cm), including the TiO2 coating

Definition at line 781 of file GeometryPar.h.

◆ m_SectorRotation

double m_SectorRotation[2][BKLMElementNumbers::getMaximalSectorNumber()]
private

Global rotation angle of a sector.

Definition at line 633 of file GeometryPar.h.

◆ m_SolenoidOuterRadius

double m_SolenoidOuterRadius
private

Outer radius of the solenoid.

Definition at line 645 of file GeometryPar.h.

◆ m_SupportPlateHeight

double m_SupportPlateHeight
private

height of the innermost-module support plate

Definition at line 841 of file GeometryPar.h.

◆ m_SupportPlateLength

double m_SupportPlateLength
private

length of the innermost-module support plate

Definition at line 844 of file GeometryPar.h.

◆ m_SupportPlateLengthChimney

double m_SupportPlateLengthChimney
private

length of the innermost-module support plate in the chimney sector

Definition at line 847 of file GeometryPar.h.

◆ m_SupportPlateWidth

double m_SupportPlateWidth
private

width of the innermost-module support plate

Definition at line 838 of file GeometryPar.h.

◆ m_ZScintDLength

double m_ZScintDLength[BKLMElementNumbers::getMaximalLayerNumber()][NZSCINT]
private

Shortening of the nominal length of the z scintillators.

Definition at line 724 of file GeometryPar.h.

◆ m_ZStripWidth

double m_ZStripWidth[BKLMElementNumbers::getMaximalLayerNumber()]
private

Width of the z strips on each layer.

Definition at line 721 of file GeometryPar.h.


The documentation for this class was generated from the following files: