12#ifndef ALICEO2_TRK_LAYER_H
13#define ALICEO2_TRK_LAYER_H
17#include <TGeoManager.h>
65 static constexpr float Si_X0 = 9.5f;
94 static constexpr double sDeadzoneWidth = constants::moduleMLOT::chip::passiveEdgeReadOut;
115 TRKMLLayer(
int layerNumber, std::string layerName,
float rInn,
float staggerOffset,
float tiltAngle,
int numberOfStaves,
int numberOfModules,
float thickOrX2X0,
MatBudgetParamMode mode);
119 void createLayer(TGeoVolume* motherVolume)
override;
122 float mStaggerOffset;
125 static constexpr int sFlippedLayerNumber = 3;
128 std::pair<float, float> getBoundingRadii(
double staveWidth)
const override;
137 TRKOTLayer(
int layerNumber, std::string layerName,
float rInn,
float tiltAngle,
int numberOfStaves,
int numberOfModules,
float thickOrX2X0,
MatBudgetParamMode mode);
142 void createLayer(TGeoVolume* motherVolume)
override;
150 std::pair<float, float> getBoundingRadii(
double staveWidth)
const override;
ClassDef(TRKCylindricalLayer, 0)
TRKCylindricalLayer()=default
static constexpr float Si_X0
virtual void createLayer(TGeoVolume *motherVolume)
auto getChipThickness() const
virtual TGeoVolume * createSensor()
auto getInnerRadius() const
virtual ~TRKCylindricalLayer()=default
virtual TGeoVolume * createMetalStack()
static constexpr double sSensorThickness
auto getOuterRadius() const
void createLayer(TGeoVolume *motherVolume) override
TGeoVolume * createStave() override
~TRKMLLayer() override=default
TGeoVolume * createHalfStave()
void createLayer(TGeoVolume *motherVolume) override
TGeoVolume * createStave() override
~TRKOTLayer() override=default
static constexpr double sChipWidth
virtual TGeoVolume * createStave()=0
TGeoVolume * createMetalStack() override
void createLayer(TGeoVolume *motherVolume) override=0
static constexpr float sLogicalVolumeThickness
static constexpr int sHalfNumberOfChips
TGeoVolume * createSensor() override
TRKSegmentedLayer()=default
ClassDefOverride(TRKSegmentedLayer, 0)
TGeoVolume * createModule()
static constexpr double sChipLength
TGeoVolume * createChip()
static constexpr double sDeadzoneWidth
~TRKSegmentedLayer() override=default
static constexpr double sModuleLength
static constexpr double sModuleWidth
TGeoVolume * createDeadzone()
virtual std::pair< float, float > getBoundingRadii(double staveWidth) const
GLuint GLsizei GLsizei * length
constexpr double outerEdgeLongSide
constexpr double thickness
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...