12#ifndef ALICEO2_PHOS_GEOMETRYPARAMS_H_
13#define ALICEO2_PHOS_GEOMETRYPARAMS_H_
17#include <RStringView.h>
48 int getNZ()
const {
return mNz; }
55 double getCellStep()
const {
return 2. * mAirCellHalfSize[0]; }
59 for (
int i = 0;
i < 3;
i++) {
60 pos[
i] = mModuleCenter[module][
i];
65 for (
int i = 0;
i < 3;
i++) {
66 for (
int ian = 0; ian < 2; ian++) {
67 angle[
i][ian] = mModuleAngle[module][
i][ian];
148 double mPHOSAngle[5];
149 double mPHOSParams[4];
150 double mPHOSATBParams[4];
151 double mCrystalShift;
152 double mCryCellShift;
153 double mModuleCenter[5][3];
154 double mModuleAngle[5][3][2];
158 double mStripHalfSize[3];
159 double mAirCellHalfSize[3];
160 double mWrappedHalfSize[3];
161 double mSupportPlateHalfSize[3];
162 double mSupportPlateInHalfSize[3];
163 double mCrystalHalfSize[3];
165 double mStripWallWidthOut;
166 double mStripWallWidthIn;
167 double mTyvecThickness;
168 double mTSupport1HalfSize[3];
169 double mTSupport2HalfSize[3];
170 double mPreampHalfSize[3];
171 double mPinDiodeHalfSize[3];
173 double mOuterThermoParams[4];
174 double mCoolerHalfSize[3];
175 double mAirGapHalfSize[3];
176 double mInnerThermoHalfSize[3];
177 double mAlCoverParams[4];
178 double mFiberGlassHalfSize[3];
180 double mInnerThermoWidthX;
181 double mInnerThermoWidthY;
182 double mInnerThermoWidthZ;
183 double mAirGapWidthX;
184 double mAirGapWidthY;
185 double mAirGapWidthZ;
186 double mCoolerWidthX;
187 double mCoolerWidthY;
188 double mCoolerWidthZ;
189 double mAlCoverThickness;
190 double mOuterThermoWidthXUp;
191 double mOuterThermoWidthXLow;
192 double mOuterThermoWidthY;
193 double mOuterThermoWidthZ;
194 double mAlFrontCoverX;
195 double mAlFrontCoverZ;
196 double mFiberGlassSup2X;
197 double mFiberGlassSup1X;
199 double mFrameThickness;
200 double mAirSpaceFeeX;
201 double mAirSpaceFeeZ;
202 double mAirSpaceFeeY;
203 double mTCables2HalfSize[3];
204 double mTCables1HalfSize[3];
205 double mWarmUpperThickness;
206 double mWarmBottomThickness;
207 double mWarmAlCoverWidthX;
208 double mWarmAlCoverWidthY;
209 double mWarmAlCoverWidthZ;
210 double mWarmAlCoverHalfSize[3];
211 double mWarmThermoHalfSize[3];
212 double mFiberGlassSup1Y;
213 double mFiberGlassSup2Y;
214 double mTSupportDist;
215 double mTSupport1Thickness;
216 double mTSupport2Thickness;
217 double mTSupport1Width;
218 double mTSupport2Width;
219 double mFrameXHalfSize[3];
220 double mFrameZHalfSize[3];
221 double mFrameXPosition[3];
222 double mFrameZPosition[3];
223 double mFGupXHalfSize[3];
224 double mFGupXPosition[3];
225 double mFGupZHalfSize[3];
226 double mFGupZPosition[3];
227 double mFGlowXHalfSize[3];
228 double mFGlowXPosition[3];
229 double mFGlowZHalfSize[3];
230 double mFGlowZPosition[3];
231 double mFEEAirHalfSize[3];
232 double mFEEAirPosition[3];
233 double mEMCParams[4];
234 double mIPtoOuterCoverDistance;
235 double mIPtoCrystalSurface;
237 double mSupportPlateThickness;
238 double mzAirTightBoxToTopModuleDist;
250 double mRailOuterSize[3];
251 double mRailPart1[3];
252 double mRailPart2[3];
253 double mRailPart3[3];
256 double mDistanceBetwRails;
257 double mRailsDistanceFromIP;
258 double mRailRoadSize[3];
259 double mCradleWallThickness;
260 double mModuleCraddleGap;
261 double mCradleWall[5];
262 double mCradleWheel[3];
const double * getAirCellHalfSize() const
double getRailRoadSize(int index) const
const double * getCoolerHalfSize() const
const double * getFEEAirHalfSize() const
double getDistATBtoModule() const
const double * getSupportPlateHalfSize() const
double getRailLength() const
double getCradleWheel(int index) const
const double * getFGupXPosition() const
const double * getWarmThermoHalfSize() const
const double * getInnerThermoHalfSize() const
double * getPHOSATBParams()
double getPHOSAngle(int index) const
double getCrystalSize(int index) const
double getATBWallWidth() const
double getRailPart2(int index) const
const double * getTCables1HalfSize() const
const double * getTSupport2HalfSize() const
const double * getFGupZHalfSize() const
const double * getFrameZHalfSize() const
double getIPtoOuterCoverDistance() const
const double * getPreampHalfSize() const
const double * getOuterThermoParams() const
double getSupportPlateThickness() const
const double * getFGlowXHalfSize() const
const double * getFrameZPosition() const
const double * getWrappedHalfSize() const
double getAirGapLed() const
double getCradleWallThickness() const
GeometryParams()=default
Default constructor.
const double * getAlCoverParams() const
void getModuleCenter(int module, double *pos) const
double getOuterBoxSize(int index) const
double getModuleCraddleGap() const
double getDistanceBetwRails() const
int getNCellsZInStrip() const
const double * getFGupZPosition() const
double getTSupportDist() const
int getNCellsXInStrip() const
const double * getFGupXHalfSize() const
const double * getStripHalfSize() const
const double * getTCables2HalfSize() const
double getStripWallWidthOut() const
~GeometryParams() final=default
Destructor.
const double * getFrameXPosition() const
const double * getFEEAirPosition() const
int getNCristalsInModule() const
const double * getFGlowZPosition() const
const double * getCrystalHalfSize() const
const double * getEMCParams() const
double getRailPart3(int index) const
double getRailsDistanceFromIP() const
double getRailPos(int index) const
const double * getFiberGlassHalfSize() const
double getCellStep() const
const double * getFrameXHalfSize() const
const double * getFGlowXPosition() const
const double * getAirGapHalfSize() const
void getModuleAngle(int module, double angle[3][2]) const
double getIPtoCrystalSurface() const
const double * getWarmAlCoverHalfSize() const
double getRailOuterSize(int index) const
static GeometryParams * GetInstance(const std::string_view name="Run2")
get singleton (create if necessary)
const double * getFGlowZHalfSize() const
double getRailPart1(int index) const
const double * getTSupport1HalfSize() const
const double * getSupportPlateInHalfSize() const
double getCradleWall(int index) const
const double * getAPDHalfSize() const
GLuint const GLchar * name
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...