8 using namespace GeomDetEnumerators;
15 :
GeomDetType(
"CSC",
CSC ), theChamberType( iChamberType ), theSpecsValues( fupar ),
16 nstrips( static_cast<int>(specsValue(5)) ), stripDeltaPhi( specsValue(29) ),
17 centreToIntersectionOffset( specsValue(30) ), gangedStrips_(
false )
19 LogTrace(
"CSCChamberSpecs|CSC") <<
myName <<
": constructing specs for chamber " <<
20 theName[iChamberType - 1] <<
", type=" << iChamberType <<
", this =" <<
this;
31 float globalRadialPositionOfAlignmentPin =
specsValue(24);
32 float distanceFrameToAlignmentPin =
specsValue(25);
34 float distanceEndOfStripToAlignmentPin =
specsValue(27);
38 float yAlignmentPin = -lengthOfChamber/2. + distanceFrameToAlignmentPin;
41 float alignmentPinToCentreOfStripPlane = distanceEndOfStripToAlignmentPin + extentOfStripPlane/2. ;
44 float yCentreOfStripPlane = yAlignmentPin + alignmentPinToCentreOfStripPlane ;
47 float whereStripsMeet = globalRadialPositionOfAlignmentPin + alignmentPinToCentreOfStripPlane ;
74 nstrips, -stripOffset1, phiPitch, whereStripsMeet, extentOfStripPlane, yCentreOfStripPlane,
75 wg, wireAngleInDegrees, yOfFirstWire, hThickness );
78 nstrips, -stripOffset2, phiPitch, whereStripsMeet, extentOfStripPlane, yCentreOfStripPlane,
79 wg, wireAngleInDegrees, yOfFirstWire, hThickness );
82 nstrips, -stripOffset1, phiPitch, whereStripsMeet, extentOfStripPlane, yCentreOfStripPlane,
83 wg, -wireAngleInDegrees, yOfFirstWire, hThickness );
86 nstrips, -stripOffset2, phiPitch, whereStripsMeet, extentOfStripPlane, yCentreOfStripPlane,
87 wg, -wireAngleInDegrees, yOfFirstWire, hThickness );
94 LogTrace(
"CSCChamberSpecs|CSC") <<
myName <<
" destroying this=" <<
this;
136 int i = 2 * istation + iring;
153 const float pF_cm = 0.75;
155 /
sqrt(timeInterval/100.);
176 {
"ME1/a",
"ME1/b",
"ME1/2",
"ME1/3",
"ME2/1",
"ME2/2",
"ME3/1",
"ME3/2",
CSCLayerGeometry * poszOddLayerGeometry
bool operator!=(const CSCChamberSpecs &specs) const
Allow comparison of Specs objects.
CSCLayerGeometry * negzOddLayerGeometry
static int whatChamberType(int istation, int iring)
float chargePerCount() const
float centreToIntersectionOffset
std::string chamberTypeName() const
float stripPhiPitch() const
CSCLayerGeometry * negzEvenLayerGeometry
bool operator==(const CSCChamberSpecs &specs) const
static const std::string myName
~CSCChamberSpecs()
Destructor.
float specsValue(int index) const
Accessor to chamber specs values.
float wireSpacing() const
virtual const Topology & topology() const
Returns StripTopology of the odd-layer, positive-z geometry.
bool gangedStrips() const
CSCLayerGeometry * poszEvenLayerGeometry
const CSCStripTopology * topology() const
float stripNoise(float timeInterval) const
CSCChamberSpecs()
Default ctor.
virtual float length() const
volatile std::atomic< bool > shutdown_flag false
std::vector< float > CSCSpecsParcel
double alignmentPinToFirstWire
float constantNoise() const
static const std::string theName[10]