CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
CSCChamberSpecs Class Reference

#include <CSCChamberSpecs.h>

Inheritance diagram for CSCChamberSpecs:
GeomDetType

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 CSCLayerGeometryevenLayerGeometry (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 CSCLayerGeometryoddLayerGeometry (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
 
virtual const Topologytopology () const
 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 ()
 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_
 
CSCLayerGeometrynegzEvenLayerGeometry
 
CSCLayerGeometrynegzOddLayerGeometry
 
int nstrips
 
CSCLayerGeometryposzEvenLayerGeometry
 
CSCLayerGeometryposzOddLayerGeometry
 
float stripDeltaPhi
 
int theChamberType
 
CSCSpecsParcel theSpecsValues
 

Static Private Attributes

static const std::string myName = "CSCChamberSpecs"
 
static const std::string theName [10]
 

Detailed Description

Each endcap muon CSCChamberSpecs object is a set of parameters for one of several types of chamber.

Author
Tim Cox

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.

Warning
Disclaimer: The mess of methods was supposed to be a temporary hack until it was decided how to handle such spec pars... but there's still nothing better.

Definition at line 39 of file CSCChamberSpecs.h.

Member Typedef Documentation

typedef std::vector<float> CSCChamberSpecs::CSCSpecsParcel

Definition at line 43 of file CSCChamberSpecs.h.

Constructor & Destructor Documentation

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.

CSCChamberSpecs::~CSCChamberSpecs ( )

Destructor.

Definition at line 92 of file CSCChamberSpecs.cc.

Member Function Documentation

float CSCChamberSpecs::anodeCathodeSpacing ( ) const
inline

distance from anode to cathode, in cm.

Definition at line 137 of file CSCChamberSpecs.h.

Referenced by CSCGattiFunction::initChamberSpecs().

float CSCChamberSpecs::calibrationError ( ) const
inline

Definition at line 143 of file CSCChamberSpecs.h.

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.

Referenced by CSCRecHit2DValidation::analyze(), CSCWireDigiValidation::analyze(), and CSCComparatorDigiValidation::analyze().

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.

Referenced by CSCSegmentBuilder::build().

float CSCChamberSpecs::chargePerCount ( ) const

ADC calibration, in fC.

Definition at line 164 of file CSCChamberSpecs.cc.

float CSCChamberSpecs::constantNoise ( ) const
inline

the constant term in the electronics noise, in # of electrons.

Definition at line 170 of file CSCChamberSpecs.h.

float CSCChamberSpecs::ctiOffset ( ) const
inline

offset to centreToIntersection, in cm (the backed-out corrections for positioning the strips)

Definition at line 127 of file CSCChamberSpecs.h.

float CSCChamberSpecs::e_pF ( ) const
inline

the # of noise electrons per picofarad of capacitance.

Definition at line 175 of file CSCChamberSpecs.h.

float CSCChamberSpecs::efficiency ( ) const
inline

Definition at line 98 of file CSCChamberSpecs.h.

float CSCChamberSpecs::electronAttraction ( ) const
inline

Definition at line 145 of file CSCChamberSpecs.h.

const CSCLayerGeometry* CSCChamberSpecs::evenLayerGeometry ( int  iendcap) const
inline

Definition at line 71 of file CSCChamberSpecs.h.

float CSCChamberSpecs::fractionQS ( ) const
inline

the fraction of the charge that survives to reach the cathode.

Definition at line 150 of file CSCChamberSpecs.h.

bool CSCChamberSpecs::gangedStrips ( ) const
inline

Are strips ganged?

Definition at line 197 of file CSCChamberSpecs.h.

float CSCChamberSpecs::gasGain ( ) const

Definition at line 158 of file CSCChamberSpecs.cc.

float CSCChamberSpecs::neutronRate ( ) const
inline

neutron hit rate per CSC layer per event.

Definition at line 104 of file CSCChamberSpecs.h.

int CSCChamberSpecs::nFloatingStrips ( ) const
inline

Definition at line 116 of file CSCChamberSpecs.h.

int CSCChamberSpecs::nNodes ( ) const
inline

number of strips 2*nnodes+1 around hit.

Definition at line 114 of file CSCChamberSpecs.h.

Referenced by CSCStripHitSim::simulate().

int CSCChamberSpecs::nStrips ( ) const
inline

number of strips in one chamber.

Definition at line 109 of file CSCChamberSpecs.h.

int CSCChamberSpecs::nWiresPerGroup ( ) const
inline

Definition at line 115 of file CSCChamberSpecs.h.

const CSCLayerGeometry* CSCChamberSpecs::oddLayerGeometry ( int  iendcap) const
inline

Accessors for LayerGeometry's.

Definition at line 69 of file CSCChamberSpecs.h.

bool CSCChamberSpecs::operator!= ( const CSCChamberSpecs specs) const

Allow comparison of Specs objects.

Definition at line 103 of file CSCChamberSpecs.cc.

bool CSCChamberSpecs::operator== ( const CSCChamberSpecs specs) const

Definition at line 111 of file CSCChamberSpecs.cc.

float CSCChamberSpecs::shaperPeakingTime ( ) const
inline

Fast shaper peaking time (ns).

Definition at line 165 of file CSCChamberSpecs.h.

float CSCChamberSpecs::specsValue ( int  index) const
inlineprivate

Accessor to chamber specs values.

Definition at line 209 of file CSCChamberSpecs.h.

float CSCChamberSpecs::stripNoise ( float  timeInterval) const

Definition at line 152 of file CSCChamberSpecs.cc.

float CSCChamberSpecs::stripPhiPitch ( ) const
inline

strip pitch in phi, in radians (the strips are fan-shaped)

Definition at line 121 of file CSCChamberSpecs.h.

float CSCChamberSpecs::stripResolution ( ) const
inline

Definition at line 96 of file CSCChamberSpecs.h.

float CSCChamberSpecs::timeWindow ( ) const
inline

Definition at line 99 of file CSCChamberSpecs.h.

const Topology & CSCChamberSpecs::topology ( ) const
virtual

Returns StripTopology of the odd-layer, positive-z geometry.

Implements GeomDetType.

Definition at line 116 of file CSCChamberSpecs.cc.

float CSCChamberSpecs::voltage ( ) const
inline

Definition at line 141 of file CSCChamberSpecs.h.

int CSCChamberSpecs::whatChamberType ( int  istation,
int  iring 
)
static

The usual integer label for 'chamber type' of this ring and station

Definition at line 135 of file CSCChamberSpecs.cc.

Referenced by CSCNeutronWriter::chamberType(), CSCNeutronReader::chamberType(), and CSCConfigurableStripConditions::fetchNoisifier().

float CSCChamberSpecs::wireNoise ( float  timeInterval) const
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.

float CSCChamberSpecs::wireRadius ( ) const
inline

anode wire radius, in cm.

Definition at line 160 of file CSCChamberSpecs.h.

Referenced by CSCGattiFunction::initChamberSpecs().

float CSCChamberSpecs::wireResolution ( ) const
inline

Definition at line 97 of file CSCChamberSpecs.h.

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.

Referenced by CSCGattiFunction::initChamberSpecs().

Member Data Documentation

float CSCChamberSpecs::centreToIntersectionOffset
private

Definition at line 236 of file CSCChamberSpecs.h.

bool CSCChamberSpecs::gangedStrips_
private

Definition at line 238 of file CSCChamberSpecs.h.

const std::string CSCChamberSpecs::myName = "CSCChamberSpecs"
staticprivate

Definition at line 244 of file CSCChamberSpecs.h.

CSCLayerGeometry* CSCChamberSpecs::negzEvenLayerGeometry
private

Definition at line 217 of file CSCChamberSpecs.h.

CSCLayerGeometry* CSCChamberSpecs::negzOddLayerGeometry
private

Definition at line 216 of file CSCChamberSpecs.h.

int CSCChamberSpecs::nstrips
private

Definition at line 234 of file CSCChamberSpecs.h.

CSCLayerGeometry* CSCChamberSpecs::poszEvenLayerGeometry
private

Definition at line 215 of file CSCChamberSpecs.h.

CSCLayerGeometry* CSCChamberSpecs::poszOddLayerGeometry
private

Definition at line 214 of file CSCChamberSpecs.h.

float CSCChamberSpecs::stripDeltaPhi
private

Definition at line 235 of file CSCChamberSpecs.h.

int CSCChamberSpecs::theChamberType
private

Definition at line 226 of file CSCChamberSpecs.h.

const std::string CSCChamberSpecs::theName
staticprivate
Initial value:
=
{"ME1/a", "ME1/b", "ME1/2", "ME1/3", "ME2/1", "ME2/2", "ME3/1", "ME3/2",
"ME4/1", "ME4/2" }

Definition at line 241 of file CSCChamberSpecs.h.

CSCSpecsParcel CSCChamberSpecs::theSpecsValues
private

Definition at line 232 of file CSCChamberSpecs.h.