Belle II Software development
|
EKLM geometry data. More...
#include <GeometryData.h>
Public Types | |
enum | DataSource { c_Gearbox , c_Database } |
Geometry data source. More... | |
Public Member Functions | |
void | saveToDatabase (const IntervalOfValidity &iov) const |
Save geometry data to database. | |
double | getStripLength (int strip) const |
Get strip length. | |
double | getMaximalStripLength () const |
Get maximal strip length. | |
int | getNStripsDifferentLength () const |
Get number of strips with different lengths. | |
int | getStripLengthIndex (int positionIndex) const |
Get index in length-based array. | |
int | getStripPositionIndex (int lengthIndex) const |
Get index in position-based array. | |
bool | hitInEKLM (double z) const |
Check if z coordinate may be in EKLM. | |
void | getSectionTransform (HepGeom::Transform3D *t, int n) const |
Get section transformation. | |
void | getLayerTransform (HepGeom::Transform3D *t, int n) const |
Get layer transformation. | |
void | getSectorTransform (HepGeom::Transform3D *t, int n) const |
Get sector transformation. | |
void | getPlaneTransform (HepGeom::Transform3D *t, int n) const |
Get plane transformation. | |
void | getStripTransform (HepGeom::Transform3D *t, int n) const |
Get strip transformation. | |
void | getSheetTransform (HepGeom::Transform3D *t, int n) const |
Get plastic sheet element transformation. | |
bool | beamBackgroundStudy () const |
Whether to perform beam-background study. | |
int | getNSections () const |
Get number of sections. | |
int | getNLayers () const |
Get number of layers. | |
int | getNDetectorLayers (int section) const |
Get number of detector layers. | |
int | getNSectors () const |
Get number of sectors. | |
int | getNPlanes () const |
Get number of planes. | |
int | getNSegments () const |
Get number of segments. | |
int | getNSegmentSupportElementsSector () const |
Get number of segment support elements *in one sector). | |
int | getNStrips () const |
Get number of strips. | |
void | checkDetectorLayerNumber (int section, int layer) const |
Check if number of detector layers is correct (fatal error if not). | |
void | checkDetectorLayer (int section, int layer) const |
Check if detector layer number is correct (fatal error if not). | |
void | checkSegmentSupport (int support) const |
Check if segment support number is correct (fatal error if not). | |
void | checkStripSegment (int strip) const |
Check if number of strip in a segment is correct (fatal error if not). | |
double | getSolenoidZ () const |
Get solenoid center Z coordinate. | |
const EndcapStructureGeometry * | getEndcapStructureGeometry () const |
Get endcap structure geometry data. | |
const ElementPosition * | getSectionPosition () const |
Get position data for sections. | |
const ElementPosition * | getLayerPosition () const |
Get position data for layers. | |
double | getLayerShiftZ () const |
Get Z distance between two layers. | |
const ElementPosition * | getSectorPosition () const |
Get position data for sectors. | |
const ElementPosition * | getSectorSupportPosition () const |
Get position data for sector support structure. | |
const SectorSupportGeometry * | getSectorSupportGeometry () const |
Get sector support geometry data. | |
const ElementPosition * | getPlanePosition () const |
Get position data for planes. | |
const PlasticSheetGeometry * | getPlasticSheetGeometry () const |
Get plastic sheet geometry data. | |
const SegmentSupportGeometry * | getSegmentSupportGeometry () const |
Get segment support geometry data. | |
const SegmentSupportPosition * | getSegmentSupportPosition (int plane, int support) const |
Get position data for segment support structure. | |
const StripGeometry * | getStripGeometry () const |
Get strip geometry data. | |
const ElementPosition * | getStripPosition (int strip) const |
Get position data for strips. | |
const ShieldGeometry * | getShieldGeometry () const |
Get shield layer details geometry data. | |
Static Public Member Functions | |
static const GeometryData & | Instance (enum DataSource dataSource=c_Database, const GearDir *gearDir=nullptr) |
Instantiation. | |
Protected Member Functions | |
ClassDef (Belle2::EKLMGeometry, 6) | |
Class version. | |
Protected Attributes | |
const EKLMElementNumbers * | m_ElementNumbers |
Element numbers. | |
bool | m_BeamBackgroundStudy = false |
ROOT streamer. | |
int | m_NSections |
Number of sections. | |
int | m_NLayers |
Number of layers in one section. | |
int * | m_NDetectorLayers |
Number of detector layers. | |
int | m_NSectors |
Number of sectors in one layer. | |
int | m_NPlanes |
Number of planes in one sector. | |
int | m_NSegments |
Number of segments in one plane. | |
int | m_NSegmentSupportElementsSector |
Number of segment support elements in one sector. | |
int | m_NStrips |
Number of strips in one plane. | |
double | m_SolenoidZ |
Solenoid center Z coordinate. | |
EndcapStructureGeometry | m_EndcapStructureGeometry |
Section structure geometry data. | |
ElementPosition | m_SectionPosition |
Position data for sections. | |
ElementPosition | m_LayerPosition |
Position data for layers. | |
double | m_LayerShiftZ |
Z distance between two layers. | |
ElementPosition | m_SectorPosition |
Position data for sectors. | |
ElementPosition | m_SectorSupportPosition |
Position data for sector support structure. | |
SectorSupportGeometry | m_SectorSupportGeometry |
Sector support geometry data. | |
ElementPosition | m_PlanePosition |
Position data for planes. | |
PlasticSheetGeometry | m_PlasticSheetGeometry |
Plastic sheet geometry data. | |
SegmentSupportGeometry | m_SegmentSupportGeometry |
Segment support geometry data. | |
SegmentSupportPosition * | m_SegmentSupportPosition |
Position data for segment support structure. | |
StripGeometry | m_StripGeometry |
Strip geometry data. | |
ElementPosition * | m_StripPosition |
Position data for strips. | |
ShieldGeometry | m_ShieldGeometry |
Shield layer details geometry data. | |
Private Member Functions | |
GeometryData (enum DataSource dataSource, const GearDir *gearDir) | |
Constructor. | |
~GeometryData () | |
Destructor. | |
void | readEndcapStructureGeometry (const GearDir &gd) |
Read section structure geometry data. | |
void | initializeFromGearbox (const GearDir *gearDir) |
Initialize from Gearbox (XML). | |
void | initializeFromDatabase () |
Initialize from database. | |
void | calculateSectorSupportGeometry () |
Calculate sector support geometry data. | |
void | fillStripIndexArrays () |
Fill strip index arrays. | |
void | readXMLDataStrips (const GearDir &gd) |
Read strip parameters from XML database. | |
void | calculateShieldGeometry () |
Calculate shield geometry data. | |
Private Attributes | |
EKLMGeometry * | m_Geometry |
Copy of data in this class used to write it to database. | |
int | m_nStripDifferent |
Number of strips with different lengths in one plane. | |
int * | m_StripAllToLen |
Number of strip in length-based array. | |
int * | m_StripLenToAll |
Number of strip in position-based array. | |
double | m_MinZForward |
Minimal z coordinate of the forward section. | |
double | m_MaxZBackward |
Maximal z coordinate of the backward section. | |
EKLM geometry data.
All data and function results are in CLHEP units unless noted otherwise.
Definition at line 38 of file GeometryData.h.
enum DataSource |
Geometry data source.
Enumerator | |
---|---|
c_Gearbox | Gearbox (XML). |
c_Database |
Definition at line 43 of file GeometryData.h.
|
explicitprivate |
Constructor.
[in] | dataSource | Data source. |
[in] | gearDir | XML data directory. |
Definition at line 605 of file GeometryData.cc.
|
private |
Destructor.
Definition at line 626 of file GeometryData.cc.
|
inlineinherited |
Whether to perform beam-background study.
Definition at line 1677 of file EKLMGeometry.h.
|
private |
Calculate sector support geometry data.
Definition at line 117 of file GeometryData.cc.
|
private |
Calculate shield geometry data.
Definition at line 385 of file GeometryData.cc.
|
inherited |
Check if detector layer number is correct (fatal error if not).
Section number must be checked separately.
[in] | section | Section number. |
[in] | layer | Layer number. |
Definition at line 312 of file EKLMGeometry.cc.
|
inherited |
Check if number of detector layers is correct (fatal error if not).
Section number must be checked separately.
[in] | section | Section number. |
[in] | layer | Layer number. |
Definition at line 301 of file EKLMGeometry.cc.
|
inherited |
Check if segment support number is correct (fatal error if not).
[in] | support | Segment support element number. |
Definition at line 322 of file EKLMGeometry.cc.
|
inherited |
Check if number of strip in a segment is correct (fatal error if not).
[in] | strip | Strip number. |
Definition at line 329 of file EKLMGeometry.cc.
|
private |
Fill strip index arrays.
Definition at line 202 of file GeometryData.cc.
|
inlineinherited |
Get endcap structure geometry data.
Definition at line 1783 of file EKLMGeometry.h.
|
inlineinherited |
Get position data for layers.
Definition at line 1799 of file EKLMGeometry.h.
|
inlineinherited |
Get Z distance between two layers.
Definition at line 1807 of file EKLMGeometry.h.
void getLayerTransform | ( | HepGeom::Transform3D * | t, |
int | n | ||
) | const |
Get layer transformation.
[out] | t | Transformation. |
[in] | n | Number of layer. |
Numbers start from 0.
Definition at line 662 of file GeometryData.cc.
|
inline |
Get maximal strip length.
Definition at line 79 of file GeometryData.h.
|
inherited |
Get number of detector layers.
[in] | section | Section number (1 - backward, 2 - forward). |
Definition at line 293 of file EKLMGeometry.cc.
|
inlineinherited |
Get number of layers.
Definition at line 1693 of file EKLMGeometry.h.
|
inlineinherited |
Get number of planes.
Definition at line 1715 of file EKLMGeometry.h.
|
inlineinherited |
|
inlineinherited |
Get number of sectors.
Definition at line 1707 of file EKLMGeometry.h.
|
inlineinherited |
Get number of segments.
Definition at line 1723 of file EKLMGeometry.h.
|
inlineinherited |
Get number of segment support elements *in one sector).
Definition at line 1731 of file EKLMGeometry.h.
|
inlineinherited |
Get number of strips.
Definition at line 1739 of file EKLMGeometry.h.
|
inline |
Get number of strips with different lengths.
Definition at line 88 of file GeometryData.h.
|
inlineinherited |
Get position data for planes.
Definition at line 1839 of file EKLMGeometry.h.
void getPlaneTransform | ( | HepGeom::Transform3D * | t, |
int | n | ||
) | const |
Get plane transformation.
[out] | t | Transformation. |
[in] | n | Number of plane. |
Numbers start from 0.
Definition at line 690 of file GeometryData.cc.
|
inlineinherited |
Get plastic sheet geometry data.
Definition at line 1847 of file EKLMGeometry.h.
|
inlineinherited |
Get position data for sections.
Definition at line 1791 of file EKLMGeometry.h.
void getSectionTransform | ( | HepGeom::Transform3D * | t, |
int | n | ||
) | const |
Get section transformation.
[out] | t | Transformation. |
[in] | n | Number of section. |
Numbers start from 0.
Definition at line 650 of file GeometryData.cc.
|
inlineinherited |
Get position data for sectors.
Definition at line 1815 of file EKLMGeometry.h.
|
inlineinherited |
Get sector support geometry data.
Definition at line 1831 of file EKLMGeometry.h.
|
inlineinherited |
Get position data for sector support structure.
Definition at line 1823 of file EKLMGeometry.h.
void getSectorTransform | ( | HepGeom::Transform3D * | t, |
int | n | ||
) | const |
Get sector transformation.
[out] | t | Transformation. |
[in] | n | Number of sector. |
Numbers start from 0.
Definition at line 670 of file GeometryData.cc.
|
inlineinherited |
Get segment support geometry data.
Definition at line 1855 of file EKLMGeometry.h.
|
inherited |
Get position data for segment support structure.
Definition at line 339 of file EKLMGeometry.cc.
void getSheetTransform | ( | HepGeom::Transform3D * | t, |
int | n | ||
) | const |
Get plastic sheet element transformation.
[out] | t | Transformation. |
[in] | n | Number of list. |
Numbers start from 0. This function is intended for construction of the list solids, so the transformation does not include z shift.
Definition at line 710 of file GeometryData.cc.
|
inlineinherited |
Get shield layer details geometry data.
Definition at line 1885 of file EKLMGeometry.h.
|
inlineinherited |
Get solenoid center Z coordinate.
Definition at line 1775 of file EKLMGeometry.h.
|
inlineinherited |
Get strip geometry data.
Definition at line 1871 of file EKLMGeometry.h.
|
inline |
|
inline |
Get index in length-based array.
[in] | positionIndex | index in position-based array. |
Definition at line 97 of file GeometryData.h.
|
inherited |
Get position data for strips.
[in] | strip | Strip number. |
Definition at line 348 of file EKLMGeometry.cc.
|
inline |
Get index in position-based array.
[in] | lengthIndex | index in length-based array. |
Definition at line 106 of file GeometryData.h.
void getStripTransform | ( | HepGeom::Transform3D * | t, |
int | n | ||
) | const |
Get strip transformation.
[out] | t | Transformation. |
[in] | n | Number of strip. |
Numbers start from 0.
Definition at line 703 of file GeometryData.cc.
bool hitInEKLM | ( | double | z | ) | const |
Check if z coordinate may be in EKLM.
[in] | z | Z coordinate (cm). |
Warning: this is not a complete check!
Definition at line 639 of file GeometryData.cc.
|
private |
Initialize from database.
Definition at line 596 of file GeometryData.cc.
|
private |
Initialize from Gearbox (XML).
[in] | gearDir | XML data directory. |
Definition at line 477 of file GeometryData.cc.
|
static |
Instantiation.
[in] | dataSource | Data source. |
[in] | gearDir | XML data directory. |
Definition at line 33 of file GeometryData.cc.
|
private |
Read section structure geometry data.
[in] | gd | Current GearDir. |
Definition at line 469 of file GeometryData.cc.
|
private |
Read strip parameters from XML database.
Definition at line 258 of file GeometryData.cc.
void saveToDatabase | ( | const IntervalOfValidity & | iov | ) | const |
Save geometry data to database.
Definition at line 634 of file GeometryData.cc.
|
protectedinherited |
ROOT streamer.
Whether to perform beam-background study.
Definition at line 1896 of file EKLMGeometry.h.
|
protectedinherited |
Element numbers.
Definition at line 1893 of file EKLMGeometry.h.
|
protectedinherited |
Section structure geometry data.
Definition at line 1926 of file EKLMGeometry.h.
|
private |
Copy of data in this class used to write it to database.
Definition at line 227 of file GeometryData.h.
|
protectedinherited |
Position data for layers.
Definition at line 1932 of file EKLMGeometry.h.
|
protectedinherited |
Z distance between two layers.
Definition at line 1935 of file EKLMGeometry.h.
|
private |
Maximal z coordinate of the backward section.
Definition at line 242 of file GeometryData.h.
|
private |
Minimal z coordinate of the forward section.
Definition at line 239 of file GeometryData.h.
|
protectedinherited |
Number of detector layers.
Definition at line 1905 of file EKLMGeometry.h.
|
protectedinherited |
Number of layers in one section.
Definition at line 1902 of file EKLMGeometry.h.
|
protectedinherited |
Number of planes in one sector.
Definition at line 1911 of file EKLMGeometry.h.
|
protectedinherited |
Number of sections.
Definition at line 1899 of file EKLMGeometry.h.
|
protectedinherited |
Number of sectors in one layer.
Definition at line 1908 of file EKLMGeometry.h.
|
protectedinherited |
Number of segments in one plane.
Definition at line 1914 of file EKLMGeometry.h.
|
protectedinherited |
Number of segment support elements in one sector.
Definition at line 1917 of file EKLMGeometry.h.
|
private |
Number of strips with different lengths in one plane.
Definition at line 230 of file GeometryData.h.
|
protectedinherited |
Number of strips in one plane.
Definition at line 1920 of file EKLMGeometry.h.
|
protectedinherited |
Position data for planes.
Definition at line 1947 of file EKLMGeometry.h.
|
protectedinherited |
Plastic sheet geometry data.
Definition at line 1950 of file EKLMGeometry.h.
|
protectedinherited |
Position data for sections.
Definition at line 1929 of file EKLMGeometry.h.
|
protectedinherited |
Position data for sectors.
Definition at line 1938 of file EKLMGeometry.h.
|
protectedinherited |
Sector support geometry data.
Definition at line 1944 of file EKLMGeometry.h.
|
protectedinherited |
Position data for sector support structure.
Definition at line 1941 of file EKLMGeometry.h.
|
protectedinherited |
Segment support geometry data.
Definition at line 1953 of file EKLMGeometry.h.
|
protectedinherited |
Position data for segment support structure.
Definition at line 1956 of file EKLMGeometry.h.
|
protectedinherited |
Shield layer details geometry data.
Definition at line 1965 of file EKLMGeometry.h.
|
protectedinherited |
Solenoid center Z coordinate.
Definition at line 1923 of file EKLMGeometry.h.
|
private |
Number of strip in length-based array.
Definition at line 233 of file GeometryData.h.
|
protectedinherited |
Strip geometry data.
Definition at line 1959 of file EKLMGeometry.h.
|
private |
Number of strip in position-based array.
Definition at line 236 of file GeometryData.h.
|
protectedinherited |
Position data for strips.
Definition at line 1962 of file EKLMGeometry.h.