CMS 3D CMS Logo

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

#include <CSCChamber.h>

Inheritance diagram for CSCChamber:
GeomDet

Public Member Functions

void addComponent (int n, const CSCLayer *gd)
 Add a layer. More...
 
virtual const GeomDetcomponent (DetId id) const
 Return the layer with a given id in this chamber. More...
 
virtual std::vector< const
GeomDet * > 
components () const
 Return the layers in this chamber. More...
 
 CSCChamber (const BoundPlane::BoundPlanePointer bp, CSCDetId id, const CSCChamberSpecs *specs)
 
CSCDetId id () const
 Get the (concrete) DetId. More...
 
const CSCLayerlayer (CSCDetId id) const
 Return the layer corresponding to the given id. More...
 
const CSCLayerlayer (int ilay) const
 
const std::vector< const
CSCLayer * > & 
layers () const
 Return all layers. More...
 
const CSCChamberSpecsspecs () const
 
virtual SubDetector subDetector () const
 Which subdetector. More...
 
const GeomDetTypetype () const
 
 ~CSCChamber ()
 
- Public Member Functions inherited from GeomDet
AlignmentPositionErroralignmentPositionError () const
 Return pointer to alignment errors. More...
 
DetId geographicalId () const
 The label of this GeomDet. More...
 
 GeomDet (BoundPlane *plane)
 
 GeomDet (const ReferenceCountingPointer< BoundPlane > &plane)
 
int index () const
 
LocalError const & localAlignmentError () const
 Return local alligment error. More...
 
const Surface::PositionTypeposition () const
 The position (origin of the R.F.) More...
 
const Surface::RotationTyperotation () const
 The rotation defining the local R.F. More...
 
void setIndex (int i)
 
const BoundPlanespecificSurface () const
 Same as surface(), kept for backward compatibility. More...
 
const BoundPlanesurface () const
 The nominal surface of the GeomDet. More...
 
GlobalPoint toGlobal (const Local2DPoint &lp) const
 Conversion to the global R.F. from the R.F. of the GeomDet. More...
 
GlobalPoint toGlobal (const Local3DPoint &lp) const
 Conversion to the global R.F. from the R.F. of the GeomDet. More...
 
GlobalVector toGlobal (const LocalVector &lv) const
 Conversion to the global R.F. from the R.F. of the GeomDet. More...
 
LocalPoint toLocal (const GlobalPoint &gp) const
 Conversion to the R.F. of the GeomDet. More...
 
LocalVector toLocal (const GlobalVector &gv) const
 Conversion to the R.F. of the GeomDet. More...
 
virtual ~GeomDet ()
 

Private Attributes

const CSCChamberSpecstheChamberSpecs
 
std::vector< const CSCLayer * > theComponents
 

Additional Inherited Members

- Public Types inherited from GeomDet
typedef
GeomDetEnumerators::SubDetector 
SubDetector
 
- Protected Member Functions inherited from GeomDet
void setDetId (DetId id)
 

Detailed Description

Describes the geometry of the second-level detector unit modelled by a C++ object in the endcap muon CSC system. A CSCChamber is composed of 6 CSCLayer's and is, of course, a Cathode Strip Chamber Chamber!

Author
Tim Cox

Definition at line 22 of file CSCChamber.h.

Constructor & Destructor Documentation

CSCChamber::CSCChamber ( const BoundPlane::BoundPlanePointer  bp,
CSCDetId  id,
const CSCChamberSpecs specs 
)
inline

Definition at line 26 of file CSCChamber.h.

References GeomDet::setDetId().

26  :
27  GeomDet( bp ), theChamberSpecs( specs ),
28  theComponents(6,(const CSCLayer*)0) {
29  setDetId(id);
30  }
void setDetId(DetId id)
Definition: GeomDet.h:97
std::vector< const CSCLayer * > theComponents
Definition: CSCChamber.h:69
GeomDet(BoundPlane *plane)
Definition: GeomDet.cc:5
const CSCChamberSpecs * theChamberSpecs
Definition: CSCChamber.h:68
CSCChamber::~CSCChamber ( )

Definition at line 13 of file CSCChamber.cc.

References i, and theComponents.

13  {
14  // Delete all layers
15  for (std::vector<const CSCLayer*>::const_iterator i=theComponents.begin();
16  i!=theComponents.end(); ++i){
17  delete (*i);
18  }
19 }
int i
Definition: DBlmapReader.cc:9
std::vector< const CSCLayer * > theComponents
Definition: CSCChamber.h:69

Member Function Documentation

void CSCChamber::addComponent ( int  n,
const CSCLayer gd 
)

Add a layer.

Definition at line 33 of file CSCChamber.cc.

References theComponents.

33  {
34 
35  if ((n>0) && (n<7))
36  theComponents[n-1] = gd;
37  else
38  edm::LogError("CSC") << "Each chamber has only SIX layers.";
39 }
std::vector< const CSCLayer * > theComponents
Definition: CSCChamber.h:69
const GeomDet * CSCChamber::component ( DetId  id) const
virtual

Return the layer with a given id in this chamber.

Reimplemented from GeomDet.

Definition at line 28 of file CSCChamber.cc.

References CSCDetId, and layer().

28  {
29  return layer(CSCDetId(id.rawId()));
30 }
const CSCLayer * layer(CSCDetId id) const
Return the layer corresponding to the given id.
Definition: CSCChamber.cc:41
std::vector< const GeomDet * > CSCChamber::components ( ) const
virtual

Return the layers in this chamber.

Implements GeomDet.

Definition at line 23 of file CSCChamber.cc.

References theComponents.

23  {
24  return std::vector <const GeomDet*>(theComponents.begin(),theComponents.end());
25 }
std::vector< const CSCLayer * > theComponents
Definition: CSCChamber.h:69
CSCDetId CSCChamber::id ( void  ) const
inline

Get the (concrete) DetId.

Definition at line 37 of file CSCChamber.h.

References GeomDet::geographicalId().

Referenced by RPCEfficiency::analyze(), CSCSegtoRPC::CSCSegtoRPC(), CSCOfflineMonitor::doEfficiencies(), CSCValidation::doEfficiencies(), layer(), and ValidateGeometry::validateCSChamberGeometry().

37 { return geographicalId(); }
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:72
const CSCLayer * CSCChamber::layer ( CSCDetId  id) const

Return the layer corresponding to the given id.

Definition at line 41 of file CSCChamber.cc.

References CSCDetId::chamberId(), id(), and CSCDetId::layer().

Referenced by CSCSegAlgoSK::areHitsCloseInGlobalPhi(), CSCSegAlgoTC::areHitsCloseInGlobalPhi(), CSCSegAlgoDF::buildSegments(), CSCSegAlgoTC::buildSegments(), CSCSegAlgoSK::buildSegments(), CSCSectorReceiverLUT::calcGlobalPhiME(), component(), CSCSegAlgoST::correctTheCovX(), CSCSegAlgoHitPruning::derivativeMatrix(), CSCSegAlgoShowering::derivativeMatrix(), CSCSegAlgoTC::derivativeMatrix(), CSCSegAlgoST::derivativeMatrix(), CSCSegAlgoDF::derivativeMatrix(), CSCSegAlgoSK::derivativeMatrix(), CSCOfflineMonitor::doEfficiencies(), CSCValidation::doEfficiencies(), CSCSegAlgoSK::dumpHits(), CSCSegAlgoTC::dumpHits(), CSCSegAlgoHitPruning::fillChiSquared(), CSCSegAlgoST::fillChiSquared(), CSCSegAlgoSK::fillChiSquared(), CSCSegAlgoTC::fillChiSquared(), CSCSegAlgoHitPruning::fitSlopes(), CSCSegAlgoST::fitSlopes(), CSCSegAlgoSK::fitSlopes(), CSCSegAlgoTC::fitSlopes(), CSCSectorReceiverLUT::getGlobalEtaValue(), geometryXMLparser.DTAlignable::index(), geometryXMLparser.CSCAlignable::index(), CSCSegAlgoShowering::isHitNearSegment(), CSCSegAlgoSK::isHitNearSegment(), CSCSegAlgoTC::isHitNearSegment(), CSCSegAlgoDF::isHitNearSegment(), CSCSegAlgoSK::phiAtZ(), CSCSegAlgoTC::phiAtZ(), CSCSegAlgoST::prune_bad_hits(), CSCSegAlgoHitPruning::pruneBadHits(), CSCSegAlgoShowering::pruneFromResidual(), CSCSegAlgoDF::pruneFromResidual(), CSCEfficiency::recHitSegment_Efficiencies(), CSCAnodeLCTProcessor::run(), CSCCathodeLCTProcessor::run(), CSCSegAlgoShowering::showerSeg(), CSCSegAlgoSK::tryAddingHitsToSegment(), CSCSegAlgoTC::tryAddingHitsToSegment(), CSCSegAlgoShowering::updateParameters(), CSCSegAlgoSK::updateParameters(), CSCSegAlgoDF::updateParameters(), and CSCSegAlgoTC::updateParameters().

41  {
42  if (iid.chamberId()!=id()) return 0; // not in this chamber
43  return layer(iid.layer());
44 }
CSCDetId id() const
Get the (concrete) DetId.
Definition: CSCChamber.h:37
const CSCLayer * layer(CSCDetId id) const
Return the layer corresponding to the given id.
Definition: CSCChamber.cc:41
const CSCLayer * CSCChamber::layer ( int  ilay) const

Return the given layer. Layers are numbered 1-6.

Definition at line 46 of file CSCChamber.cc.

References theComponents.

Referenced by geometryXMLparser.DTAlignable::index(), and geometryXMLparser.CSCAlignable::index().

46  {
47 
48  if ((ilay>0) && (ilay<7))
49  return theComponents[ilay-1];
50  else {
51  return 0;
52  }
53 }
std::vector< const CSCLayer * > theComponents
Definition: CSCChamber.h:69
const std::vector< const CSCLayer* >& CSCChamber::layers ( ) const
inline

Return all layers.

Definition at line 57 of file CSCChamber.h.

References theComponents.

Referenced by FWRecoGeometryESProducer::addCSCGeometry(), and MuonSimHitProducer::produce().

57 { return theComponents; }
std::vector< const CSCLayer * > theComponents
Definition: CSCChamber.h:69
const CSCChamberSpecs* CSCChamber::specs ( ) const
inline
virtual SubDetector CSCChamber::subDetector ( ) const
inlinevirtual

Which subdetector.

Implements GeomDet.

Definition at line 40 of file CSCChamber.h.

References GeomDetEnumerators::CSC.

const GeomDetType& CSCChamber::type ( ) const
inline

Definition at line 34 of file CSCChamber.h.

References specs().

Referenced by CSCLayer::type().

34 { return *(specs()); }
const CSCChamberSpecs * specs() const
Definition: CSCChamber.h:42

Member Data Documentation

const CSCChamberSpecs* CSCChamber::theChamberSpecs
private

Definition at line 68 of file CSCChamber.h.

Referenced by specs().

std::vector< const CSCLayer* > CSCChamber::theComponents
private

Definition at line 69 of file CSCChamber.h.

Referenced by addComponent(), components(), layer(), layers(), and ~CSCChamber().