12#ifndef ALICEO2_FOCAL_GEOMETRY_H_
13#define ALICEO2_FOCAL_GEOMETRY_H_
71 void init(
const std::string geoFile);
88 std::tuple<
bool ,
int ,
int ,
int ,
int >
getVirtualInfo(
double x,
double y,
double z)
const;
o2::mch::mapping::CathodeSegmentation seg
double getTowerGapSizeY() const
double getFOCALSizeY() const
std::vector< VirtualSegment > mVirtualSegmentComposition
float mHCalLayerThickness
std::tuple< int, int, int, int, int, int, int > getPadPositionId2RowColStackLayer(int id) const
int getNumberOfTowersInX() const
std::tuple< bool, double, double, double > getXYZFromColRowSeg(int col, int row, int segment) const
bool getInsertFrontPadLayers() const
bool getInsertHCalReadoutMaterial() const
double getTowerGapSizeX() const
bool mInsertFrontPadLayers
double getHCALSizeZ() const
std::array< float, 100 > mLocalSegmentsZ
int getNumberOfTowersInY() const
Geometry(const Geometry &geo)=default
void setUpTowerWaferSize()
float mFrontMatterLayerThickness
segment location in z
double getGlobalPixelWaferSizeY() const
double getECALSizeZ() const
int getHCALTowersInY() const
int mGlobal_HCAL_Tower_NY
std::vector< Composition > mFrontMatterCompositionBase
float getVirtualPadSize(int segment) const
bool getVirtualIsHCal(int segment) const
int getVirtualNSegments() const
double getTowerSize() const
std::tuple< bool, int, int, int, int > getVirtualInfo(double x, double y, double z) const
std::list< int > mDisableTowers
std::array< float, 100 > mLayerThickness
double getGlobalPixelWaferSizeX() const
double getFOCALSizeZ() const
std::tuple< double, double > getGeoPadCenterLocal(int towerX, int towerY, int row, int col) const
this gives local position of the pad with respect to the wafer
std::tuple< double, double, double > getGeoPixelCenter(int pixel_id, int tower, int layer, int stack, int row, int col) const
this gives global position of the pixel
int getNumberOfHCalLayers() const
int getPixelNumber(int vol0, int vol1, int vol2, double x, double y) const
float getHCALTowerSize() const
double getGlobalPadSize() const
static Geometry * getInstance()
int getNumberOfPixelLayers() const
int getNumberOfLayerSeg() const
float getVirtualRelativeSensitiveThickness(int segment) const
std::tuple< bool, int, int > getVirtualNColRow(int segment) const
float mGlobal_PIX_OffsetX
std::array< float, 100 > mLocalLayerZ
Geometry & operator=(const Geometry &geo)=default
int getNumberOfLayers() const
int getNumberOfSegments() const
int getNumberOfPads() const
float mGlobal_PIX_OffsetY
int getVirtualSegment(float z) const
int getVirtualMaxLayerInSegment(int segment) const
int getHCALTowersInX() const
std::vector< Composition > mPixelCompositionBase
double getGlobalPixelSkin() const
double getHCALCenterZ() const
int getNumberOfPADsInY() const
std::tuple< double, double, double > getGeoCompositionCenter(int tower, int layer, int stack) const
std::tuple< double, double, double > getGeoTowerCenter(int tower, int segment=-1) const
this gives global position of the center of tower
double getTowerSizeX() const
std::vector< const Composition * > getFOCALMicroModule(int layer) const
std::vector< Composition > mPadCompositionBase
std::array< int, 20 > mPixelLayerLocations
const Composition * getComposition(int layer, int stack) const
void setUpLayerSegmentMap()
std::array< int, 100 > mNumberOfLayersInSegments
std::string_view getTowerGapMaterial() const
int getNumberOfPADsInX() const
double getFOCALZ0() const
bool getVirtualIsPixel(int segment) const
int mGlobal_HCAL_Tower_NX
float getMiddleTowerOffset() const
std::tuple< bool, int, int > getVirtualLayerSegment(float z) const
std::vector< Composition > mHCalCompositionBase
double getFOCALSizeX() const
int getNumberOfPadLayers() const
bool getUseHCALSandwich()
double getTowerSizeY() const
bool mGlobal_Pixel_Readout
int getNumberOfPIXsInX() const
float getVirtualSegmentSizeZ(int segment) const
std::vector< Composition > mGeometryComposition
int getVirtualMinLayerInSegment(int segment) const
int getNumberOfPIXsInY() const
double getGlobalPixelSize() const
bool disabledTower(int tower)
double getTowerGapSize() const
std::tuple< bool, int > getVirtualSegmentFromLayer(int layer) const
float mGlobal_Middle_Tower_Offset
int mNFrontMatterCompositionBase
float getVirtualSegmentZ(int segment) const
std::tuple< double, double, double > getGeoPadCenter(int tower, int layer, int stack, int row, int col) const
this gives global position of the pad
double getECALCenterZ() const
float mGlobal_HCAL_Tower_Size
std::array< int, 100 > mSegments
double getGlobalPixelOffsetX() const
int getVirtualNLayersInSegment(int segment) const
float getVirtualPixelTreshold(int segment) const
std::tuple< double, double > getGeoPixCenterLocal(int row, int col) const
this gives local position of the pad with respect to the wafer
double getFOCALSegmentZ(int seg) const
float mPixelLayerThickness
bool mInsertFrontHCalReadoutMaterial
std::string mGlobal_Gap_Material
float mRelativeSensitiveThickness
VirtualSegment & operator=(const VirtualSegment &segment)
GLuint const GLchar * name
GLenum GLuint GLint GLint layer
GLdouble GLdouble GLdouble z
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...