20 : theMuonDetLayerGeometry(muonLayout), epsilon_(100.), theEndcapFlag(
true), theBarrelFlag(
true) {}
37 vector<const DetLayer*>
output;
97 vector<const DetLayer*>
output;
114 for (vector<const DetLayer*>::const_iterator iter_B = barrel.begin(); iter_B != barrel.end(); iter_B++) {
116 output.push_back((*iter_B));
117 else if (
checkCompatible(fts, dynamic_cast<const BarrelDetLayer*>(*iter_B))) {
118 output.push_back((*iter_B));
129 vector<const DetLayer*>::const_iterator rbegin = barrel.end();
131 vector<const DetLayer*>::const_iterator rend = barrel.begin();
134 for (vector<const DetLayer*>::const_iterator iter_B = rbegin; iter_B != rend; iter_B--) {
136 output.push_back((*iter_B));
137 else if (
checkCompatible(fts, dynamic_cast<const BarrelDetLayer*>(*iter_B))) {
138 output.push_back((*iter_B));
147 for (vector<const DetLayer*>::const_iterator iter_E = forward.begin(); iter_E != forward.end(); iter_E++) {
149 output.push_back((*iter_E));
150 else if (
checkCompatible(fts, dynamic_cast<const ForwardDetLayer*>(*iter_E))) {
151 output.push_back((*iter_E));
162 vector<const DetLayer*>::const_iterator rbegin = forward.end();
164 vector<const DetLayer*>::const_iterator rend = forward.begin();
166 for (vector<const DetLayer*>::const_iterator iter_E = rbegin; iter_E != rend; iter_E--) {
168 output.push_back((*iter_E));
169 else if (
checkCompatible(fts, dynamic_cast<const ForwardDetLayer*>(*iter_E))) {
170 output.push_back((*iter_E));
180 for (vector<const DetLayer*>::const_iterator iter_E = backward.begin(); iter_E != backward.end(); iter_E++) {
182 output.push_back((*iter_E));
183 else if (
checkCompatible(fts, dynamic_cast<const ForwardDetLayer*>(*iter_E))) {
184 output.push_back((*iter_E));
194 vector<const DetLayer*>::const_iterator rbegin = backward.end();
196 vector<const DetLayer*>::const_iterator rend = backward.begin();
198 for (vector<const DetLayer*>::const_iterator iter_E = rbegin; iter_E != rend; iter_E--) {
200 output.push_back((*iter_E));
201 else if (
checkCompatible(fts, dynamic_cast<const ForwardDetLayer*>(*iter_E))) {
202 output.push_back((*iter_E));
217 float radius = bc.radius();
218 float length = bc.bounds().length() / 2.;
220 float z1 = slope * (radius - r0) + z0;
221 return (fabs(z1) <= fabs(length) +
epsilon_);
229 float slope = rm / zm;
236 float outRadius = bd.outerRadius();
237 float inRadius = bd.innerRadius();
238 float z = bd.position().z();
240 float r1 = slope * (z -
z0) + r0;
253 return ((x0 * xm + y0 * ym) > 0);
edm::ESHandle< MuonDetLayerGeometry > theMuonDetLayerGeometry
std::vector< const DetLayer * > compatibleEndcapLayers(const FreeTrajectoryState &fts, PropagationDirection timeDirection) const
static const double slope[3]
void inOutBackward(const FreeTrajectoryState &, std::vector< const DetLayer * > &) const
void outInForward(const FreeTrajectoryState &, std::vector< const DetLayer * > &) const
virtual const BoundCylinder & specificSurface() const final
Extension of the interface.
void inOutForward(const FreeTrajectoryState &, std::vector< const DetLayer * > &) const
DirectMuonNavigation(const edm::ESHandle< MuonDetLayerGeometry > &)
bool outward(const FreeTrajectoryState &fts) const
std::vector< const DetLayer * > compatibleLayers(const FreeTrajectoryState &fts, PropagationDirection timeDirection) const
bool checkCompatible(const FreeTrajectoryState &fts, const BarrelDetLayer *) const
void outInBarrel(const FreeTrajectoryState &, std::vector< const DetLayer * > &) const
const std::vector< const DetLayer * > & allForwardLayers() const
return all forward (+Z) layers (CSC+RPC+GEM+ME0), inside-out
void outInBackward(const FreeTrajectoryState &, std::vector< const DetLayer * > &) const
const std::vector< const DetLayer * > & allBarrelLayers() const
return all barrel DetLayers (DT+RPC), inside-out
GlobalVector momentum() const
GlobalPoint position() const
virtual const BoundDisk & specificSurface() const final
void inOutBarrel(const FreeTrajectoryState &, std::vector< const DetLayer * > &) const
const std::vector< const DetLayer * > & allBackwardLayers() const
return all backward (-Z) layers (CSC+RPC+GEM+ME0), inside-out
cont
load Luminosity info ##