12#include "GaudiKernel/SystemOfUnits.h"
28 return m_rdb->fwdSensor(iModuleType)->getInt(
"NUMWAFERS");
34 return m_rdb->fwdSensor(iModuleType)->getDouble(
"THICKNESS") * Gaudi::Units::mm;
40 return m_rdb->fwdSensor(iModuleType)->getDouble(
"INNERWIDTHNEAR") * Gaudi::Units::mm;
46 return m_rdb->fwdSensor(iModuleType)->getDouble(
"INNERWIDTHFAR") * Gaudi::Units::mm;
52 return m_rdb->fwdSensor(iModuleType)->getDouble(
"OUTERWIDTHNEAR") * Gaudi::Units::mm;
58 return m_rdb->fwdSensor(iModuleType)->getDouble(
"OUTERWIDTHFAR") * Gaudi::Units::mm;
64 return m_rdb->fwdSensor(iModuleType)->getDouble(
"LENGTHNEAR") * Gaudi::Units::mm;
70 return m_rdb->fwdSensor(iModuleType)->getDouble(
"LENGTHFAR") * Gaudi::Units::mm;
76 return m_rdb->fwdSensor(iModuleType)->getDouble(
"RADIUSNEAR") * Gaudi::Units::mm;
82 return m_rdb->fwdSensor(iModuleType)->getDouble(
"RADIUSFAR") * Gaudi::Units::mm;
88 return m_rdb->fwdSensor(iModuleType)->getString(
"MATERIALNEAR");
94 return m_rdb->fwdSensor(iModuleType)->getString(
"MATERIALFAR");
100 return m_rdb->fwdSensor(iModuleType)->getInt(
"ACTIVENEAR");
106 return m_rdb->fwdSensor(iModuleType)->getInt(
"ACTIVEFAR");
112 return m_rdb->fwdSensor(iModuleType)->getDouble(
"ACTIVEHALFLENGTHNEAR") * Gaudi::Units::mm;
118 return m_rdb->fwdSensor(iModuleType)->getDouble(
"ACTIVEHALFLENGTHFAR") * Gaudi::Units::mm;
124 return m_rdb->fwdSensor(iModuleType)->getDouble(
"ANGULARPITCH") * Gaudi::Units::radian;
130 return m_rdb->fwdSensor(iModuleType)->getInt(
"NUMSTRIPS");
136 return m_rdb->fwdSensor(iModuleType)->getInt(
"NUMREADOUTSTRIPS");
142 return m_rdb->fwdSensor(iModuleType)->getInt(
"STRIPSHIFT");
152 return m_rdb->fwdHybrid()->getDouble(
"THICKNESS") * Gaudi::Units::mm;
158 return m_rdb->fwdHybrid()->getDouble(
"INNERWIDTH") * Gaudi::Units::mm;
164 return m_rdb->fwdHybrid()->getDouble(
"OUTERWIDTH") * Gaudi::Units::mm;
170 return m_rdb->fwdHybrid()->getDouble(
"LENGTH") * Gaudi::Units::mm;
176 return m_rdb->fwdHybrid()->getDouble(
"LENGTHTOCORNER") * Gaudi::Units::mm;
182 return m_rdb->fwdHybrid()->getDouble(
"MOUNTPOINTTOINEDGE") * Gaudi::Units::mm;
188 return m_rdb->fwdHybrid()->getString(
"MATERIAL");
197 return m_rdb->fwdSpine(iModuleType)->getDouble(
"THICKNESS") * Gaudi::Units::mm;
203 return m_rdb->fwdSpine(iModuleType)->getDouble(
"WIDTH") * Gaudi::Units::mm;
209 return m_rdb->fwdSpine(iModuleType)->getDouble(
"ENDTOMODULECENTER") * Gaudi::Units::mm;
216 return m_rdb->fwdSpine(iModuleType)->getDouble(
"ENDLOCATORTOENDMOUNT") * Gaudi::Units::mm;
223 return m_rdb->fwdSpine(iModuleType)->getString(
"MATERIAL");
233 return m_rdb->fwdSpine(iModuleType)->getDouble(
"SUBINNERWIDTH") * Gaudi::Units::mm;
239 return m_rdb->fwdSpine(iModuleType)->getDouble(
"SUBINNERLENGTH") * Gaudi::Units::mm;
245 return m_rdb->fwdSpine(iModuleType)->getDouble(
"SUBINNERREFDIST") * Gaudi::Units::mm;
251 return m_rdb->fwdSpine(iModuleType)->getDouble(
"SUBMIDDLEWIDTH") * Gaudi::Units::mm;
257 return m_rdb->fwdSpine(iModuleType)->getDouble(
"SUBMIDDLELENGTH") * Gaudi::Units::mm;
263 return m_rdb->fwdSpine(iModuleType)->getDouble(
"SUBMIDDLEREFDIST") * Gaudi::Units::mm;
269 return m_rdb->fwdSpine(iModuleType)->getDouble(
"SUBOUTERWIDTH") * Gaudi::Units::mm;
275 return m_rdb->fwdSpine(iModuleType)->getDouble(
"SUBOUTERLENGTH") * Gaudi::Units::mm;
281 return m_rdb->fwdSpine(iModuleType)->getDouble(
"SUBOUTERREFDIST") * Gaudi::Units::mm;
287 return m_rdb->fwdSpine(iModuleType)->getString(
"SUBMATERIAL");
298 return m_rdb->fwdModuleSize();
304 return m_rdb->fwdModule(iModuleType)->getDouble(
"STEREOANGLE") * Gaudi::Units::milliradian;
310 return m_rdb->fwdModule(iModuleType)->getInt(
"STEREOUPPERSIGN");
317 if (
m_rdb->fwdModule(iModuleType)->isFieldNull(
"SIDEUPPER")) {
320 return m_rdb->fwdModule(iModuleType)->getInt(
"SIDEUPPER");
326 return m_rdb->fwdModule(iModuleType)->getDouble(
"GLUETHICKNESS") * Gaudi::Units::mm;
332 return m_rdb->fwdModule(iModuleType)->getDouble(
"MOUNTPOINT") * Gaudi::Units::mm;
338 return m_rdb->fwdModule(iModuleType)->getDouble(
"DISTBTWMOUNTPOINTS") * Gaudi::Units::mm;
344 return m_rdb->fwdModule(iModuleType)->getDouble(
"HYBRIDEDGETOSPINE")*Gaudi::Units::mm;
350 return m_rdb->fwdModule(iModuleType)->getInt(
"HYBRIDISONINNEREDGE");
359 return m_rdb->fwdModuleConnectorTable()->size() > 0;
365 return m_rdb->fwdModuleConnector()->getDouble(
"DELTAR") * Gaudi::Units::mm;
371 return m_rdb->fwdModuleConnector()->getDouble(
"RPHI") * Gaudi::Units::mm;
377 return m_rdb->fwdModuleConnector()->getDouble(
"THICKNESS") * Gaudi::Units::mm;
383 return m_rdb->fwdModuleConnector()->getString(
"MATERIAL");
Definition of the abstract IRDBRecord interface.
Definition of the abstract IRDBRecordset interface.
int fwdSensorStripShift(int iModuleType) const
int fwdModuleNumTypes() const
double fwdSensorOuterWidthFar(int iModuleType) const
double fwdSubSpineInnerLength(int iModuleType) const
double fwdSubSpineOuterLength(int iModuleType) const
double fwdSubSpineInnerRefDist(int iModuleType) const
double fwdSubSpineMiddleRefDist(int iModuleType) const
double fwdSpineEndToModuleCenter(int iModuleType) const
int fwdModuleStereoUpperSign(int iModuleType) const
bool fwdSensorActiveNear(int iModuleType) const
bool fwdModuleConnectorPresent() const
double fwdSensorActiveHalfLengthNear(int iModuleType) const
double fwdSensorThickness(int iModuleType) const
double fwdHybridMountPointToInnerEdge() const
int fwdModuleUpperSideNumber(int iModuleType) const
SCT_ForwardModuleParameters(SCT_DataBase *rdb)
double fwdSensorInnerWidthNear(int iModuleType) const
double fwdModuleDistBtwMountPoints(int iModuleType) const
double fwdModuleConnectorDeltaR() const
double fwdModuleGlueThickness(int iModuleType) const
double fwdModuleHybridEdgeToSpine(int iModuleType) const
double fwdHybridLength() const
double fwdModuleConnectorRPhi() const
double fwdSensorRadiusFar(int iModuleType) const
int fwdSensorNumReadoutStrips(int iModuleType) const
double fwdSensorLengthFar(int iModuleType) const
double fwdSubSpineMiddleLength(int iModuleType) const
double fwdSensorOuterWidthNear(int iModuleType) const
double fwdSpineEndLocatorToEndMount(int iModuleType) const
bool fwdHybridIsOnInnerEdge(int iModuleType) const
double fwdSubSpineOuterWidth(int iModuleType) const
double fwdHybridThickness() const
double fwdSpineWidth(int iModuleType) const
bool fwdSensorActiveFar(int iModuleType) const
double fwdSensorInnerWidthFar(int iModuleType) const
std::string fwdModuleConnectorMaterial() const
std::string fwdSpineMaterial(int iModuleType) const
double fwdSubSpineOuterRefDist(int iModuleType) const
std::string fwdSensorMaterialFar(int iModuleType) const
int fwdSensorNumStrips(int iModuleType) const
double fwdModuleMountPoint(int iModuleType) const
double fwdHybridLengthToCorner() const
double fwdModuleConnectorThickness() const
double fwdSensorActiveHalfLengthFar(int iModuleType) const
double fwdHybridOuterWidth() const
int fwdSensorNumWafers(int iModuleType) const
double fwdSensorAngularPitch(int iModuleType) const
double fwdModuleStereoAngle(int iModuleType) const
std::string fwdSensorMaterialNear(int iModuleType) const
double fwdSensorLengthNear(int iModuleType) const
double fwdHybridInnerWidth() const
double fwdSpineThickness(int iModuleType) const
double fwdSubSpineMiddleWidth(int iModuleType) const
double fwdSubSpineInnerWidth(int iModuleType) const
std::string fwdHybridMaterial() const
double fwdSensorRadiusNear(int iModuleType) const
std::string fwdSubSpineMaterial(int iModuleType) const