33 throw cms::Exception(
"ConfigurationProblem") <<
"GlobalTrackingGeomtry is not set\n";
35 throw cms::Exception(
"ConfigurationProblem") <<
"CSCBadChambers is not set\n";
41 throw cms::Exception(
"ConfigurationProblem") <<
"GlobalTrackingGeomtry is not set\n";
44 throw cms::Exception(
"NoGeometry") <<
"Cannot find GeomDet for DetID: " <<
id.rawId() <<
"\n";
56 throw cms::Exception(
"ConfigurationProblem") <<
"GlobalTrackingGeomtry is not set\n";
57 if (subDectorIndex != 0)
59 <<
"Muon sub-dectors are all handle as one sub-system, but subDetectorIndex is not zero.\n";
65 for (
auto it = geomDetsCSC.begin();
it != geomDetsCSC.end(); ++
it)
66 if (
auto csc = dynamic_cast<const CSCChamber*>(*
it)) {
69 validIds.push_back(
csc->id());
76 for (
auto it = geomDetsDT.begin();
it != geomDetsDT.end(); ++
it)
77 if (
auto dt = dynamic_cast<const DTChamber*>(*
it))
78 validIds.push_back(
dt->id());
84 for (
auto it = geomDetsRPC.begin();
it != geomDetsRPC.end(); ++
it)
85 if (
auto rpc = dynamic_cast<const RPCChamber*>(*
it)) {
86 std::vector<const RPCRoll*> rolls = (
rpc->rolls());
87 for (std::vector<const RPCRoll*>::iterator
r = rolls.begin();
r != rolls.end(); ++
r)
88 validIds.push_back((*r)->id().rawId());
96 for (
auto it = geomDetsGEM.begin();
it != geomDetsGEM.end(); ++
it) {
97 if (
auto gem = dynamic_cast<const GEMSuperChamber*>(*
it)) {
98 if (
gem->id().station() == 0)
99 validIds.push_back(
gem->id());
101 for (
auto ch :
gem->chambers())
102 validIds.push_back(ch->id());
111 for (
auto it = geomDetsME0.begin();
it != geomDetsME0.end(); ++
it) {
112 if (
auto me0 = dynamic_cast<const ME0Chamber*>(*
it)) {
113 validIds.push_back(
me0->id());
121 throw cms::Exception(
"ConfigurationProblem") <<
"GlobalTrackingGeomtry is not set\n";
127 const DetId&
id, std::vector<GlobalPoint>&
points)
const {
161 return std::pair<const_iterator, const_iterator>(
points.begin(),
points.end());
const CSCBadChambers * cscbadchambers_
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
const TrackingGeometry * slaveGeometry(DetId id) const
Return the pointer to the actual geometry for a given DetId.
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
const GeomDet * getGeomDet(const DetId &id) const override
std::pair< const_iterator, const_iterator > getDetIdPoints(const DetId &id, std::vector< GlobalPoint > &points) const override
Global3DPoint GlobalPoint
const GeomDet * idToDet(DetId) const override
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.
virtual const DetContainer & dets() const =0
Returm a vector of all GeomDet (including all GeomDetUnits)
const Plane & surface() const
The nominal surface of the GeomDet.
bool isInBadChamber(IndexType ichamber) const
Is the chamber with index 'ichamber' flagged as bad?
static int position[264][3]
const GlobalTrackingGeometry * geometry_
void check_setup() const override
void getValidDetIds(unsigned int, std::vector< DetId > &) const override
*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 check_setup() const
const Bounds & bounds() const