40 if (gd == 0)
throw cms::Exception(
"NoGeometry") <<
"Cannot find GeomDet for DetID: " <<
id.rawId() <<
"\n";
54 "Muon sub-dectors are all handle as one sub-system, but subDetectorIndex is not zero.\n";
59 for(std::vector<GeomDet*>::const_iterator it = geomDetsCSC.begin(); it != geomDetsCSC.end(); ++it)
60 if (
CSCChamber* csc = dynamic_cast< CSCChamber*>(*it)) {
62 validIds.push_back(csc->id());
68 for(std::vector<GeomDet*>::const_iterator it = geomDetsDT.begin(); it != geomDetsDT.end(); ++it)
69 if (
DTChamber*
dt = dynamic_cast< DTChamber*>(*it)) validIds.push_back(
dt->id());
74 for(std::vector<GeomDet*>::const_iterator it = geomDetsRPC.begin(); it != geomDetsRPC.end(); ++it)
75 if (
RPCChamber* rpc = dynamic_cast< RPCChamber*>(*it)) {
76 std::vector< const RPCRoll*> rolls = (rpc->rolls());
77 for(std::vector<const RPCRoll*>::iterator
r = rolls.begin();
r != rolls.end(); ++
r)
78 validIds.push_back((*r)->id().rawId());
89 std::pair<DetIdAssociator::const_iterator,DetIdAssociator::const_iterator>
117 return std::pair<const_iterator,const_iterator>(points.begin(),points.end());
const CSCBadChambers * cscbadchambers_
virtual float length() const =0
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
virtual const GeomDet * getGeomDet(const DetId &id) const override
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
virtual std::pair< const_iterator, const_iterator > getDetIdPoints(const DetId &id, std::vector< GlobalPoint > &points) const override
Global3DPoint GlobalPoint
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
const Bounds & bounds() const
const Plane & surface() const
The nominal surface of the GeomDet.
static int position[TOTALCHAMBERS][3]
virtual bool insideElement(const GlobalPoint &point, const DetId &id) const override
bool isInBadChamber(IndexType ichamber) const
Is the chamber with index 'ichamber' flagged as bad?
virtual float thickness() const =0
const DepRecordT & getRecord() const
virtual const GeomDet * idToDet(DetId) const
virtual GlobalPoint getPosition(const DetId &id) const override
const TrackingGeometry * slaveGeometry(DetId id) const
Return the pointer to the actual geometry for a given DetId.
virtual void check_setup() const
virtual const DetContainer & dets() const =0
Returm a vector of all GeomDet (including all GeomDetUnits)
T const * product() const
const GlobalTrackingGeometry * geometry_
virtual void check_setup() const override
virtual void getValidDetIds(unsigned int, std::vector< DetId > &) const override
virtual float width() const =0
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
virtual void setGeometry(const GlobalTrackingGeometry *ptr)