#include <CSCChamberSpecs.h>
Public Types | |
typedef std::vector< float > | CSCSpecsParcel |
Public Types inherited from GeomDetType | |
typedef GeomDetEnumerators::SubDetector | SubDetector |
Public Member Functions | |
float | anodeCathodeSpacing () const |
float | calibrationError () const |
int | chamberType () const |
std::string | chamberTypeName () const |
float | chargePerCount () const |
float | constantNoise () const |
CSCChamberSpecs () | |
Default ctor. More... | |
CSCChamberSpecs (const CSCGeometry *geom, int iChamberType, const TrapezoidalPlaneBounds &mediaShape, const CSCSpecsParcel &fupar, const CSCWireGroupPackage &wg) | |
Usual ctor from supplied params. More... | |
float | ctiOffset () const |
float | e_pF () const |
float | efficiency () const |
float | electronAttraction () const |
const CSCLayerGeometry * | evenLayerGeometry (int iendcap) const |
float | fractionQS () const |
bool | gangedStrips () const |
float | gasGain () const |
float | neutronRate () const |
int | nFloatingStrips () const |
int | nNodes () const |
int | nStrips () const |
int | nWiresPerGroup () const |
const CSCLayerGeometry * | oddLayerGeometry (int iendcap) const |
Accessors for LayerGeometry's. More... | |
bool | operator!= (const CSCChamberSpecs &specs) const |
Allow comparison of Specs objects. More... | |
bool | operator== (const CSCChamberSpecs &specs) const |
float | shaperPeakingTime () const |
float | stripNoise (float timeInterval) const |
float | stripPhiPitch () const |
float | stripResolution () const |
float | timeWindow () const |
const Topology & | topology () const override |
Returns StripTopology of the odd-layer, positive-z geometry. More... | |
float | voltage () const |
float | wireNoise (float timeInterval) const |
float | wireRadius () const |
float | wireResolution () const |
float | wireSpacing () const |
~CSCChamberSpecs () override | |
Destructor. More... | |
Public Member Functions inherited from GeomDetType | |
GeomDetType (const std::string &name, SubDetector subdet) | |
bool | isBarrel () const |
bool | isCSC () const |
bool | isDT () const |
bool | isEndcap () const |
bool | isGEM () const |
bool | isME0 () const |
bool | isMuon () const |
bool | isRPC () const |
bool | isTracker () const |
bool | isTrackerPixel () const |
bool | isTrackerStrip () const |
const std::string & | name () const |
SubDetector | subDetector () const |
virtual | ~GeomDetType () |
Static Public Member Functions | |
static int | whatChamberType (int istation, int iring) |
Private Member Functions | |
float | specsValue (int index) const |
Accessor to chamber specs values. More... | |
Private Attributes | |
float | centreToIntersectionOffset |
bool | gangedStrips_ |
CSCLayerGeometry * | negzEvenLayerGeometry |
CSCLayerGeometry * | negzOddLayerGeometry |
int | nstrips |
CSCLayerGeometry * | poszEvenLayerGeometry |
CSCLayerGeometry * | poszOddLayerGeometry |
float | stripDeltaPhi |
int | theChamberType |
CSCSpecsParcel | theSpecsValues |
Static Private Attributes | |
static const std::string | myName = "CSCChamberSpecs" |
static const std::string | theName [10] |
Each endcap muon CSCChamberSpecs object is a set of parameters for one of several types of chamber.
There are only a small finite number (9, or 10 incl. ME1A as separate) of distinct chamber types in the hardware, according to physical dimensions and properties. The individual types currently correspond to each (Station,Ring) pair.
RESPONSIBILITIES:
Supply chamber type-dependent parameters on demand. Geometrical size is not a responsibility of the Specs class.
COLLABORATORS:
A Chamber knows its associated Specs.
Definition at line 39 of file CSCChamberSpecs.h.
typedef std::vector<float> CSCChamberSpecs::CSCSpecsParcel |
Definition at line 43 of file CSCChamberSpecs.h.
CSCChamberSpecs::CSCChamberSpecs | ( | ) |
Default ctor.
CSCChamberSpecs::CSCChamberSpecs | ( | const CSCGeometry * | geom, |
int | iChamberType, | ||
const TrapezoidalPlaneBounds & | mediaShape, | ||
const CSCSpecsParcel & | fupar, | ||
const CSCWireGroupPackage & | wg | ||
) |
Usual ctor from supplied params.
Definition at line 10 of file CSCChamberSpecs.cc.
References CSCWireGroupPackage::alignmentPinToFirstWire, centreToIntersectionOffset, CSCGeometry::gangedStrips(), gangedStrips_, LogTrace, myName, negzEvenLayerGeometry, negzOddLayerGeometry, nstrips, poszEvenLayerGeometry, poszOddLayerGeometry, specsValue(), stripPhiPitch(), and theName.
|
override |
Destructor.
Definition at line 92 of file CSCChamberSpecs.cc.
References LogTrace, myName, negzEvenLayerGeometry, negzOddLayerGeometry, poszEvenLayerGeometry, and poszOddLayerGeometry.
|
inline |
distance from anode to cathode, in cm.
Definition at line 137 of file CSCChamberSpecs.h.
References gasGain(), and specsValue().
Referenced by CSCDriftSim::getWireHit(), CSCXonStrip_MatchGatti::initChamberSpecs(), and CSCGattiFunction::initChamberSpecs().
|
inline |
Definition at line 143 of file CSCChamberSpecs.h.
References specsValue().
int CSCChamberSpecs::chamberType | ( | ) | const |
The 'type' of the chamber associated with this ChamberSpecs.
The chamber type is a unique integer 1-10 for a station, ring pair MEs/r. The type value is defined as
1 for S = 1 and R=A=4 split strips in ME1/1
2,3,4 = R+1 for S = 1 and R = 1,2,3
5-10 = 2*S+R for S = 2,3,4 and R = 1,2
It is conventional usage in the Endcap Muon community/
Definition at line 121 of file CSCChamberSpecs.cc.
References theChamberType.
Referenced by CSCRecHit2DValidation::analyze(), CSCWireDigiValidation::analyze(), CSCComparatorDigiValidation::analyze(), chamberTypeName(), CSCStripElectronicsSim::createDigi(), evenLayerGeometry(), CSCWireElectronicsSim::fillDigis(), GlobalRecHitsAnalyzer::fillMuon(), GlobalRecHitsProducer::fillMuon(), CSCStripElectronicsSim::initParameters(), and CSCBaseElectronicsSim::signalDelay().
std::string CSCChamberSpecs::chamberTypeName | ( | ) | const |
The (hardware) name for the chamber type associated with this ChamberSpecs.
It is a string "MEs/r" where integer s = station, r = ring.
Definition at line 125 of file CSCChamberSpecs.cc.
References chamberType(), and theName.
Referenced by CSCSegmentBuilder::build(), CSCSegAlgoSK::buildSegments(), CSCSegAlgoST::chainHits(), CSCOfflineMonitor::doEfficiencies(), CSCValidation::doEfficiencies(), evenLayerGeometry(), CSCXonStrip_MatchGatti::findXOnStrip(), and CSCSegAlgoST::run().
float CSCChamberSpecs::chargePerCount | ( | ) | const |
ADC calibration, in fC.
Definition at line 164 of file CSCChamberSpecs.cc.
References myName, AlCaHLTBitMon_QueryRunRegistry::string, theChamberType, and theName.
Referenced by fractionQS().
|
inline |
the constant term in the electronics noise, in # of electrons.
Definition at line 170 of file CSCChamberSpecs.h.
References specsValue().
Referenced by stripNoise(), and wireNoise().
|
inline |
offset to centreToIntersection, in cm (the backed-out corrections for positioning the strips)
Definition at line 127 of file CSCChamberSpecs.h.
References centreToIntersectionOffset, and wireSpacing().
|
inline |
the # of noise electrons per picofarad of capacitance.
Definition at line 175 of file CSCChamberSpecs.h.
References specsValue().
Referenced by stripNoise().
|
inline |
Definition at line 98 of file CSCChamberSpecs.h.
References specsValue().
|
inline |
Definition at line 145 of file CSCChamberSpecs.h.
References specsValue().
|
inline |
Definition at line 71 of file CSCChamberSpecs.h.
References chamberType(), chamberTypeName(), negzEvenLayerGeometry, poszEvenLayerGeometry, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by CSCGeometryBuilder::buildChamber().
|
inline |
the fraction of the charge that survives to reach the cathode.
Definition at line 150 of file CSCChamberSpecs.h.
References chargePerCount(), and specsValue().
|
inline |
Are strips ganged?
Definition at line 197 of file CSCChamberSpecs.h.
References gangedStrips_, and whatChamberType().
Referenced by CSCSegAlgoST::chainHits(), CSCSegAlgoST::run(), and CSCHitFromStripOnly::runStrip().
float CSCChamberSpecs::gasGain | ( | ) | const |
Definition at line 158 of file CSCChamberSpecs.cc.
Referenced by anodeCathodeSpacing().
|
inline |
neutron hit rate per CSC layer per event.
Definition at line 104 of file CSCChamberSpecs.h.
References specsValue().
|
inline |
Definition at line 116 of file CSCChamberSpecs.h.
References createfilelist::int, and specsValue().
|
inline |
number of strips 2*nnodes+1 around hit.
Definition at line 114 of file CSCChamberSpecs.h.
References createfilelist::int, and specsValue().
Referenced by CSCStripHitSim::simulate().
|
inline |
number of strips in one chamber.
Definition at line 109 of file CSCChamberSpecs.h.
References nstrips.
Referenced by CSCMake2DRecHit::hitFromStripAndWire(), and CSCHitFromStripOnly::runStrip().
|
inline |
Definition at line 115 of file CSCChamberSpecs.h.
References createfilelist::int, and specsValue().
Referenced by wireNoise().
|
inline |
Accessors for LayerGeometry's.
Definition at line 69 of file CSCChamberSpecs.h.
References negzOddLayerGeometry, and poszOddLayerGeometry.
Referenced by CSCGeometryBuilder::buildChamber(), and TrackDetectorAssociator::getTAMuonChamberMatches().
bool CSCChamberSpecs::operator!= | ( | const CSCChamberSpecs & | specs | ) | const |
Allow comparison of Specs objects.
Definition at line 103 of file CSCChamberSpecs.cc.
References theChamberType.
Referenced by operator==().
bool CSCChamberSpecs::operator== | ( | const CSCChamberSpecs & | specs | ) | const |
Definition at line 111 of file CSCChamberSpecs.cc.
References operator!=().
|
inline |
Fast shaper peaking time (ns).
Definition at line 165 of file CSCChamberSpecs.h.
References specsValue().
|
inlineprivate |
Accessor to chamber specs values.
Definition at line 209 of file CSCChamberSpecs.h.
References theSpecsValues.
Referenced by anodeCathodeSpacing(), calibrationError(), constantNoise(), CSCChamberSpecs(), e_pF(), efficiency(), electronAttraction(), fractionQS(), neutronRate(), nFloatingStrips(), nNodes(), nWiresPerGroup(), shaperPeakingTime(), stripResolution(), timeWindow(), voltage(), wireRadius(), and wireResolution().
float CSCChamberSpecs::stripNoise | ( | float | timeInterval | ) | const |
Definition at line 152 of file CSCChamberSpecs.cc.
References constantNoise(), e_pF(), TrapezoidalPlaneBounds::length(), poszOddLayerGeometry, and mathSSE::sqrt().
Referenced by wireNoise().
|
inline |
strip pitch in phi, in radians (the strips are fan-shaped)
Definition at line 121 of file CSCChamberSpecs.h.
References stripDeltaPhi.
Referenced by CSCChamberSpecs(), and AngleConverter::getProcessorPhi().
|
inline |
Definition at line 96 of file CSCChamberSpecs.h.
References specsValue().
|
inline |
Definition at line 99 of file CSCChamberSpecs.h.
References specsValue().
|
overridevirtual |
Returns StripTopology of the odd-layer, positive-z geometry.
Implements GeomDetType.
Definition at line 116 of file CSCChamberSpecs.cc.
References poszOddLayerGeometry, and CSCLayerGeometry::topology().
|
inline |
Definition at line 141 of file CSCChamberSpecs.h.
References specsValue().
|
static |
The usual integer label for 'chamber type' of this ring and station
Definition at line 135 of file CSCChamberSpecs.cc.
References mps_fire::i.
Referenced by CSCGeometryBuilder::build(), CSCGeometryParsFromDD::build(), CSCGeometryBuilder::buildChamber(), CSCNeutronWriter::chamberType(), CSCNeutronReader::chamberType(), CSCConfigurableStripConditions::fetchNoisifier(), gangedStrips(), and CSCSegmentValidation::whatChamberType().
|
inline |
the number of noise electrons. the time interval is in ns we show the noise for 100 ns, then scale as 1/sqrt(time)
Definition at line 183 of file CSCChamberSpecs.h.
References constantNoise(), nWiresPerGroup(), mathSSE::sqrt(), and stripNoise().
Referenced by CSCWireElectronicsSim::initParameters().
|
inline |
anode wire radius, in cm.
Definition at line 160 of file CSCChamberSpecs.h.
References specsValue().
Referenced by CSCXonStrip_MatchGatti::initChamberSpecs(), and CSCGattiFunction::initChamberSpecs().
|
inline |
Definition at line 97 of file CSCChamberSpecs.h.
References specsValue().
float CSCChamberSpecs::wireSpacing | ( | ) | const |
wire spacing, in cm. All layers in a chamber have the same spacing.
Definition at line 148 of file CSCChamberSpecs.cc.
References poszOddLayerGeometry, and CSCLayerGeometry::wirePitch().
Referenced by ctiOffset(), CSCDriftSim::getWireHit(), CSCXonStrip_MatchGatti::initChamberSpecs(), and CSCGattiFunction::initChamberSpecs().
|
private |
Definition at line 236 of file CSCChamberSpecs.h.
Referenced by CSCChamberSpecs(), and ctiOffset().
|
private |
Definition at line 238 of file CSCChamberSpecs.h.
Referenced by CSCChamberSpecs(), and gangedStrips().
|
staticprivate |
Definition at line 244 of file CSCChamberSpecs.h.
Referenced by chargePerCount(), CSCChamberSpecs(), and ~CSCChamberSpecs().
|
private |
Definition at line 217 of file CSCChamberSpecs.h.
Referenced by CSCChamberSpecs(), evenLayerGeometry(), and ~CSCChamberSpecs().
|
private |
Definition at line 216 of file CSCChamberSpecs.h.
Referenced by CSCChamberSpecs(), oddLayerGeometry(), and ~CSCChamberSpecs().
|
private |
Definition at line 234 of file CSCChamberSpecs.h.
Referenced by CSCChamberSpecs(), and nStrips().
|
private |
Definition at line 215 of file CSCChamberSpecs.h.
Referenced by CSCChamberSpecs(), evenLayerGeometry(), and ~CSCChamberSpecs().
|
private |
Definition at line 214 of file CSCChamberSpecs.h.
Referenced by CSCChamberSpecs(), oddLayerGeometry(), stripNoise(), topology(), wireSpacing(), and ~CSCChamberSpecs().
|
private |
Definition at line 235 of file CSCChamberSpecs.h.
Referenced by stripPhiPitch().
|
private |
Definition at line 226 of file CSCChamberSpecs.h.
Referenced by chamberType(), chargePerCount(), and operator!=().
|
staticprivate |
Definition at line 241 of file CSCChamberSpecs.h.
Referenced by twikiExport.Constituent::__str__(), twikiExport.Material::__str__(), chamberTypeName(), chargePerCount(), and CSCChamberSpecs().
|
private |
Definition at line 232 of file CSCChamberSpecs.h.
Referenced by specsValue().