10#include <klm/dbobjects/eklm/EKLMGeometry.h>
13#include <framework/logging/Logger.h>
65EKLMGeometry::Point::Point()
122 B2FATAL(
"Number of points must be nonnegative.");
136 B2FATAL(
"Number of point must be from 0 to " <<
m_NPoints - 1 <<
".");
143 B2FATAL(
"Number of point must be from 0 to " <<
m_NPoints - 1 <<
".");
224 *
geometry.getSegmentSupportPosition(i + 1, j + 1);
278 *
geometry.getSegmentSupportPosition(i + 1, j + 1);
304 const char* sectionName[2] = {
"backward",
"forward"};
307 B2FATAL(
"Number of detector layers in the " << sectionName[section - 1] <<
308 " section must be from 0 to the number of layers ( " <<
315 const char* sectionName[2] = {
"backward",
"forward"};
317 B2FATAL(
"Number of layer must be less from 1 to the number of "
318 "detector layers in the " << sectionName[section - 1] <<
" section ("
324 if (support <= 0 || support >
m_ElementNumbers->getMaximalSegmentNumber() + 1)
325 B2FATAL(
"Number of segment support element must be from 1 to " <<
332 B2FATAL(
"Number of strip in a segment must be from 1 to " <<
Position information for the elements of detector.
ElementPosition()
Constructor.
EndcapStructureGeometry()
Constructor.
~EndcapStructureGeometry()
Destructor.
PlasticSheetGeometry()
Constructor.
SectorSupportGeometry()
Constructor.
SegmentSupportGeometry()
Constructor.
Segment support position.
SegmentSupportPosition()
Constructor.
Shield layer detail geometry data.
void setPoint(int i, const Point &point)
Set point.
ShieldDetailGeometry()
Constructor.
double m_LengthX
X length.
~ShieldDetailGeometry()
Destructor.
const Point * getPoint(int i) const
Get point.
double m_LengthY
Y length.
ShieldDetailGeometry & operator=(const ShieldDetailGeometry &geometry)
Operator =.
void setNPoints(int nPoints)
Set number of points.
int m_NPoints
Number of points.
Point m_DetailACenter
Detail A center.
void setDetailACenter(double x, double y)
Set detail A center.
void setDetailCCenter(double x, double y)
Set detail C center.
Point m_DetailCCenter
Detail C center.
ShieldGeometry()
Constructor.
Point m_DetailBCenter
Detail B center.
void setDetailBCenter(double x, double y)
Set detail B center.
StripGeometry()
Constructor.
const EndcapStructureGeometry * getEndcapStructureGeometry() const
Get endcap structure geometry data.
const ElementPosition * getLayerPosition() const
Get position data for layers.
int m_NSegments
Number of segments in one plane.
EKLMGeometry()
Constructor.
const PlasticSheetGeometry * getPlasticSheetGeometry() const
Get plastic sheet geometry data.
ShieldGeometry m_ShieldGeometry
Shield layer details geometry data.
const ShieldGeometry * getShieldGeometry() const
Get shield layer details geometry data.
int m_NLayers
Number of layers in one section.
const SegmentSupportPosition * getSegmentSupportPosition(int plane, int support) const
Get position data for segment support structure.
SectorSupportGeometry m_SectorSupportGeometry
Sector support geometry data.
const ElementPosition * getPlanePosition() const
Get position data for planes.
void checkDetectorLayer(int section, int layer) const
Check if detector layer number is correct (fatal error if not).
const ElementPosition * getStripPosition(int strip) const
Get position data for strips.
const SegmentSupportGeometry * getSegmentSupportGeometry() const
Get segment support geometry data.
const SectorSupportGeometry * getSectorSupportGeometry() const
Get sector support geometry data.
const ElementPosition * getSectorPosition() const
Get position data for sectors.
ElementPosition m_SectionPosition
Position data for sections.
int m_NPlanes
Number of planes in one sector.
ElementPosition m_SectorSupportPosition
Position data for sector support structure.
int getNDetectorLayers(int section) const
Get number of detector layers.
void checkSegmentSupport(int support) const
Check if segment support number is correct (fatal error if not).
double m_SolenoidZ
Solenoid center Z coordinate.
ElementPosition m_PlanePosition
Position data for planes.
ElementPosition m_LayerPosition
Position data for layers.
int m_NStrips
Number of strips in one plane.
double m_LayerShiftZ
Z distance between two layers.
int m_NSectors
Number of sectors in one layer.
const EKLMElementNumbers * m_ElementNumbers
Element numbers.
int * m_NDetectorLayers
Number of detector layers.
int m_NSections
Number of sections.
~EKLMGeometry()
Destructor.
const ElementPosition * getSectorSupportPosition() const
Get position data for sector support structure.
PlasticSheetGeometry m_PlasticSheetGeometry
Plastic sheet geometry data.
ElementPosition m_SectorPosition
Position data for sectors.
SegmentSupportPosition * m_SegmentSupportPosition
Position data for segment support structure.
const StripGeometry * getStripGeometry() const
Get strip geometry data.
ElementPosition * m_StripPosition
Position data for strips.
const ElementPosition * getSectionPosition() const
Get position data for sections.
StripGeometry m_StripGeometry
Strip geometry data.
EndcapStructureGeometry m_EndcapStructureGeometry
Section structure geometry data.
EKLMGeometry & operator=(const EKLMGeometry &geometry)
Operator =.
SegmentSupportGeometry m_SegmentSupportGeometry
Segment support geometry data.
void checkStripSegment(int strip) const
Check if number of strip in a segment is correct (fatal error if not).
void checkDetectorLayerNumber(int section, int layer) const
Check if number of detector layers is correct (fatal error if not).
int m_NSegmentSupportElementsSector
Number of segment support elements in one sector.
Common code concerning the geometry representation of the detector.
Abstract base class for different kinds of events.