CMS 3D CMS Logo

DirectMuonNavigation.h
Go to the documentation of this file.
1 #ifndef CosmicMuonProducer_DirectMuonNavigation_H
2 #define CosmicMuonProducer_DirectMuonNavigation_H
3 
19 
21 public:
22  /* Constructor */
24 
26 
27  DirectMuonNavigation* clone() const { return new DirectMuonNavigation(*this); }
28 
29  /* Destructor */
31 
32  std::vector<const DetLayer*> compatibleLayers(const FreeTrajectoryState& fts,
33  PropagationDirection timeDirection) const;
34 
35  std::vector<const DetLayer*> compatibleEndcapLayers(const FreeTrajectoryState& fts,
36  PropagationDirection timeDirection) const;
37 
38 private:
39  void inOutBarrel(const FreeTrajectoryState&, std::vector<const DetLayer*>&) const;
40  void outInBarrel(const FreeTrajectoryState&, std::vector<const DetLayer*>&) const;
41 
42  void inOutForward(const FreeTrajectoryState&, std::vector<const DetLayer*>&) const;
43  void outInForward(const FreeTrajectoryState&, std::vector<const DetLayer*>&) const;
44 
45  void inOutBackward(const FreeTrajectoryState&, std::vector<const DetLayer*>&) const;
46  void outInBackward(const FreeTrajectoryState&, std::vector<const DetLayer*>&) const;
47 
48  bool checkCompatible(const FreeTrajectoryState& fts, const BarrelDetLayer*) const;
49  bool checkCompatible(const FreeTrajectoryState& fts, const ForwardDetLayer*) const;
50  bool outward(const FreeTrajectoryState& fts) const;
51 
53  float epsilon_;
56 };
57 #endif
edm::ESHandle< MuonDetLayerGeometry > theMuonDetLayerGeometry
std::vector< const DetLayer * > compatibleEndcapLayers(const FreeTrajectoryState &fts, PropagationDirection timeDirection) const
void inOutBackward(const FreeTrajectoryState &, std::vector< const DetLayer * > &) const
void outInForward(const FreeTrajectoryState &, std::vector< const DetLayer * > &) const
void inOutForward(const FreeTrajectoryState &, std::vector< const DetLayer * > &) const
PropagationDirection
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
void outInBackward(const FreeTrajectoryState &, std::vector< const DetLayer * > &) const
DirectMuonNavigation * clone() const
void inOutBarrel(const FreeTrajectoryState &, std::vector< const DetLayer * > &) const