7 using namespace GeomDetEnumerators;
14 :
GeomDetType(
"CSC",
CSC ), theChamberType( iChamberType ), theSpecsValues( fupar ),
15 nstrips( static_cast<int>(specsValue(5)) ), stripDeltaPhi( specsValue(29) ),
16 centreToIntersectionOffset( specsValue(30) )
18 LogTrace(
"CSCChamberSpecs|CSC") <<
myName <<
": constructing specs for chamber " <<
19 theName[iChamberType - 1] <<
", type=" << iChamberType <<
", this =" <<
this;
27 float globalRadialPositionOfAlignmentPin =
specsValue(24);
28 float distanceFrameToAlignmentPin =
specsValue(25);
30 float distanceEndOfStripToAlignmentPin =
specsValue(27);
34 float yAlignmentPin = -lengthOfChamber/2. + distanceFrameToAlignmentPin;
37 float alignmentPinToCentreOfStripPlane = distanceEndOfStripToAlignmentPin + extentOfStripPlane/2. ;
40 float yCentreOfStripPlane = yAlignmentPin + alignmentPinToCentreOfStripPlane ;
43 float whereStripsMeet = globalRadialPositionOfAlignmentPin + alignmentPinToCentreOfStripPlane ;
70 nstrips, -stripOffset1, phiPitch, whereStripsMeet, extentOfStripPlane, yCentreOfStripPlane,
71 wg, wireAngleInDegrees, yOfFirstWire, hThickness );
74 nstrips, -stripOffset2, phiPitch, whereStripsMeet, extentOfStripPlane, yCentreOfStripPlane,
75 wg, wireAngleInDegrees, yOfFirstWire, hThickness );
78 nstrips, -stripOffset1, phiPitch, whereStripsMeet, extentOfStripPlane, yCentreOfStripPlane,
79 wg, -wireAngleInDegrees, yOfFirstWire, hThickness );
82 nstrips, -stripOffset2, phiPitch, whereStripsMeet, extentOfStripPlane, yCentreOfStripPlane,
83 wg, -wireAngleInDegrees, yOfFirstWire, hThickness );
90 LogTrace(
"CSCChamberSpecs|CSC") <<
myName <<
" destroying this=" <<
this;
132 int i = 2 * istation + iring;
149 const float pF_cm = 0.75;
151 /
sqrt(timeInterval/100.);
172 {
"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.
CSCLayerGeometry * poszEvenLayerGeometry
const CSCStripTopology * topology() const
float stripNoise(float timeInterval) const
CSCChamberSpecs()
Default ctor.
virtual float length() const
std::vector< float > CSCSpecsParcel
double alignmentPinToFirstWire
float constantNoise() const
static const std::string theName[10]