CMS 3D CMS Logo

Public Member Functions | Private Attributes

CSCChamber Class Reference

#include <CSCChamber.h>

Inheritance diagram for CSCChamber:
GeomDet

List of all members.

Public Member Functions

void addComponent (int n, const CSCLayer *gd)
 Add a layer.
virtual const GeomDetcomponent (DetId id) const
 Return the layer with a given id in this chamber.
virtual std::vector< const
GeomDet * > 
components () const
 Return the layers in this chamber.
 CSCChamber (const BoundPlane::BoundPlanePointer bp, CSCDetId id, const CSCChamberSpecs *specs)
CSCDetId id () const
 Get the (concrete) DetId.
const CSCLayerlayer (CSCDetId id) const
 Return the layer corresponding to the given id.
const CSCLayerlayer (int ilay) const
const std::vector< const
CSCLayer * > & 
layers () const
 Return all layers.
const CSCChamberSpecsspecs () const
virtual SubDetector subDetector () const
 Which subdetector.
const GeomDetTypetype () const
 ~CSCChamber ()

Private Attributes

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

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().

                                                                                                :
  GeomDet( bp ),  theChamberSpecs( specs ), 
    theComponents(6,(const CSCLayer*)0) {
    setDetId(id);
  }
CSCChamber::~CSCChamber ( )

Definition at line 13 of file CSCChamber.cc.

References i, and theComponents.

                       {
  // Delete all layers
  for (std::vector<const CSCLayer*>::const_iterator i=theComponents.begin();
       i!=theComponents.end(); ++i){
    delete (*i);
  }
}

Member Function Documentation

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

Add a layer.

Definition at line 33 of file CSCChamber.cc.

References theComponents.

                                                         { 
        
  if ((n>0) && (n<7)) 
    theComponents[n-1] = gd; 
  else 
    edm::LogError("CSC") << "Each chamber has only SIX layers.";
}
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().

                                                   {
  return layer(CSCDetId(id.rawId()));
}
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.

                             {
  return std::vector <const GeomDet*>(theComponents.begin(),theComponents.end());
}
CSCDetId CSCChamber::id ( void  ) const [inline]
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 CSCSegAlgoTC::areHitsCloseInGlobalPhi(), CSCSegAlgoSK::areHitsCloseInGlobalPhi(), CSCSegAlgoTC::buildSegments(), CSCSegAlgoSK::buildSegments(), CSCSegAlgoDF::buildSegments(), CSCSectorReceiverLUT::calcGlobalPhiME(), component(), CSCSegAlgoST::correctTheCovX(), CSCSegAlgoDF::derivativeMatrix(), CSCSegAlgoSK::derivativeMatrix(), CSCSegAlgoShowering::derivativeMatrix(), CSCSegAlgoHitPruning::derivativeMatrix(), CSCSegAlgoTC::derivativeMatrix(), CSCSegAlgoST::derivativeMatrix(), CSCOfflineMonitor::doEfficiencies(), CSCValidation::doEfficiencies(), CSCSegAlgoTC::dumpHits(), CSCSegAlgoSK::dumpHits(), CSCSegAlgoHitPruning::fillChiSquared(), CSCSegAlgoSK::fillChiSquared(), CSCSegAlgoTC::fillChiSquared(), CSCSegAlgoST::fillChiSquared(), CSCSegAlgoHitPruning::fitSlopes(), CSCSegAlgoST::fitSlopes(), CSCSegAlgoTC::fitSlopes(), CSCSegAlgoSK::fitSlopes(), CSCSectorReceiverLUT::getGlobalEtaValue(), CSCSegAlgoTC::isHitNearSegment(), CSCSegAlgoSK::isHitNearSegment(), CSCSegAlgoShowering::isHitNearSegment(), CSCSegAlgoDF::isHitNearSegment(), CSCSegAlgoTC::phiAtZ(), CSCSegAlgoSK::phiAtZ(), CSCSegAlgoST::prune_bad_hits(), CSCSegAlgoHitPruning::pruneBadHits(), CSCSegAlgoDF::pruneFromResidual(), CSCSegAlgoShowering::pruneFromResidual(), CSCEfficiency::recHitSegment_Efficiencies(), CSCAnodeLCTProcessor::run(), CSCCathodeLCTProcessor::run(), CSCSegAlgoShowering::showerSeg(), CSCSegAlgoTC::tryAddingHitsToSegment(), CSCSegAlgoSK::tryAddingHitsToSegment(), CSCSegAlgoSK::updateParameters(), CSCSegAlgoShowering::updateParameters(), CSCSegAlgoDF::updateParameters(), and CSCSegAlgoTC::updateParameters().

                                                    {
  if (iid.chamberId()!=id()) return 0; // not in this chamber
  return layer(iid.layer());
}
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.

                                               {
        
  if ((ilay>0) && (ilay<7)) 
    return theComponents[ilay-1];
  else {
    return 0;
  }
}
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().

{ return theComponents; }
const CSCChamberSpecs* CSCChamber::specs ( ) const [inline]
virtual SubDetector CSCChamber::subDetector ( ) const [inline, virtual]

Which subdetector.

Implements GeomDet.

Definition at line 40 of file CSCChamber.h.

References CSC().

const GeomDetType& CSCChamber::type ( ) const [inline]

Definition at line 34 of file CSCChamber.h.

References specs().

Referenced by CSCLayer::type().

{ return *(specs()); }

Member Data Documentation

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().