12#include <klm/dbobjects/eklm/EKLMGeometry.h>
15#include <framework/database/IntervalOfValidity.h>
16#include <framework/gearbox/GearDir.h>
19#include <CLHEP/Geometry/Transform3D.h>
60 const GearDir* gearDir =
nullptr);
double getLength() const
Get length.
Class to store EKLM geometry data in the database.
ElementPosition * m_StripPosition
Position data for strips.
void getSectorTransform(HepGeom::Transform3D *t, int n) const
Get sector transformation.
int * m_StripLenToAll
Number of strip in position-based array.
void fillStripIndexArrays()
Fill strip index arrays.
void getSheetTransform(HepGeom::Transform3D *t, int n) const
Get plastic sheet element transformation.
bool hitInEKLM(double z) const
Check if z coordinate may be in EKLM.
static const GeometryData & Instance(enum DataSource dataSource=c_Database, const GearDir *gearDir=nullptr)
Instantiation.
void calculateSectorSupportGeometry()
Calculate sector support geometry data.
void saveToDatabase(const IntervalOfValidity &iov) const
Save geometry data to database.
int getNStripsDifferentLength() const
Get number of strips with different lengths.
void initializeFromGearbox(const GearDir *gearDir)
Initialize from Gearbox (XML).
void getStripTransform(HepGeom::Transform3D *t, int n) const
Get strip transformation.
void readEndcapStructureGeometry(const GearDir &gd)
Read section structure geometry data.
void getSectionTransform(HepGeom::Transform3D *t, int n) const
Get section transformation.
void getLayerTransform(HepGeom::Transform3D *t, int n) const
Get layer transformation.
int getStripLengthIndex(int positionIndex) const
Get index in length-based array.
void calculateShieldGeometry()
Calculate shield geometry data.
double m_MaxZBackward
Maximal z coordinate of the backward section.
EKLMGeometry * m_Geometry
Copy of data in this class used to write it to database.
double getStripLength(int strip) const
Get strip length.
double m_MinZForward
Minimal z coordinate of the forward section.
void initializeFromDatabase()
Initialize from database.
DataSource
Geometry data source.
@ c_Gearbox
Gearbox (XML).
int m_nStripDifferent
Number of strips with different lengths in one plane.
int getStripPositionIndex(int lengthIndex) const
Get index in position-based array.
void getPlaneTransform(HepGeom::Transform3D *t, int n) const
Get plane transformation.
~GeometryData()
Destructor.
int * m_StripAllToLen
Number of strip in length-based array.
void readXMLDataStrips(const GearDir &gd)
Read strip parameters from XML database.
double getMaximalStripLength() const
Get maximal strip length.
GearDir is the basic class used for accessing the parameter store.
A class that describes the interval of experiments/runs for which an object in the database is valid.
Abstract base class for different kinds of events.