42 if (gd ==
nullptr)
throw cms::Exception(
"NoGeometry") <<
"Cannot find GeomDet for DetID: " <<
id.rawId() <<
"\n";
56 "Muon sub-dectors are all handle as one sub-system, but subDetectorIndex is not zero.\n";
61 for(
auto it = geomDetsCSC.begin(); it != geomDetsCSC.end(); ++it)
62 if (
auto csc = dynamic_cast<const CSCChamber*>(*it)) {
64 validIds.push_back(
csc->id());
70 for(
auto it = geomDetsDT.begin(); it != geomDetsDT.end(); ++it)
71 if (
auto dt = dynamic_cast<const DTChamber*>(*it)) validIds.push_back(
dt->id());
76 for(
auto it = geomDetsRPC.begin(); it != geomDetsRPC.end(); ++it)
77 if (
auto rpc = dynamic_cast<const RPCChamber*>(*it)) {
78 std::vector< const RPCRoll*> rolls = (
rpc->rolls());
79 for(std::vector<const RPCRoll*>::iterator
r = rolls.begin();
r != rolls.end(); ++
r)
80 validIds.push_back((*r)->id().rawId());
87 for(
auto it = geomDetsGEM.begin(); it != geomDetsGEM.end(); ++it){
88 if (
auto gem = dynamic_cast<const GEMSuperChamber*>(*it)) {
89 validIds.push_back(
gem->id());
97 for(
auto it = geomDetsME0.begin(); it != geomDetsME0.end(); ++it){
98 if (
auto me0 = dynamic_cast<const ME0Chamber*>(*it)) {
99 validIds.push_back(me0->id());
112 std::pair<DetIdAssociator::const_iterator,DetIdAssociator::const_iterator>
140 return std::pair<const_iterator,const_iterator>(points.begin(),points.end());
const CSCBadChambers * cscbadchambers_
virtual float length() const =0
bool insideElement(const GlobalPoint &point, const DetId &id) const override
GlobalPoint getPosition(const DetId &id) const override
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
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.
bool isInBadChamber(IndexType ichamber) const
Is the chamber with index 'ichamber' flagged as bad?
virtual float width() const =0
const DepRecordT & getRecord() const
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
void getValidDetIds(unsigned int, std::vector< DetId > &) 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)
void check_setup() const override
std::pair< const_iterator, const_iterator > getDetIdPoints(const DetId &id, std::vector< GlobalPoint > &points) const override
virtual float thickness() const =0
const GeomDet * getGeomDet(const DetId &id) const override
static int position[264][3]
const GlobalTrackingGeometry * geometry_
const GeomDet * idToDet(DetId) const override
T const * product() const
*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)