CMS 3D CMS Logo

MuonSeedDetLayer.h
Go to the documentation of this file.
1 #ifndef TrackingTools_MuonSeedDetLayer_H
2 #define TrackingTools_MuonSeedDetLayer_H
3 
14 #include <functional>
15 
19 
20 // ---------------------
21 // -- Class Interface --
22 // ---------------------
23 
25 
26  public:
27 
31  int id,
33  theLayer(layer), thePoint(point), theID(id), theState(state) {}
34 
36  virtual ~MuonSeedDetLayer() {}
37 
39  const DetLayer* layer() const { return theLayer; }
40 
42  const GlobalPoint& point() const { return thePoint; }
43 
45  int id() const { return theID; }
46 
48  const TrajectoryStateOnSurface& state() const { return theState; }
49 
51  double radius() const { return sqrt(thePoint.x()*thePoint.x()+thePoint.y()*thePoint.y()); }
52 
54  double z() const { return thePoint.z(); }
55 
57  class HigherR : std::binary_function< const MuonSeedDetLayer, const MuonSeedDetLayer, bool>
58 {
59  public :
61  return first.radius() < second.radius();
62  }
63  };
64 
66  class LowerR : std::binary_function< const MuonSeedDetLayer, const MuonSeedDetLayer, bool>
67 {
68  public :
70  return first.radius() > second.radius();
71  }
72  };
73 
74  private:
75 
78  int theID;
80 };
81 #endif
82 
const TrajectoryStateOnSurface & state() const
return trajectory state on layer
const DetLayer * theLayer
GlobalPoint thePoint
double radius() const
return radius of impact point
T y() const
Definition: PV3DBase.h:63
const DetLayer * layer() const
return layer
virtual ~MuonSeedDetLayer()
destructor
U second(std::pair< T, U > const &p)
MuonSeedDetLayer(const DetLayer *layer, GlobalPoint &point, int id, TrajectoryStateOnSurface &state)
constructor
T sqrt(T t)
Definition: SSEVec.h:18
TrajectoryStateOnSurface theState
T z() const
Definition: PV3DBase.h:64
bool operator()(const MuonSeedDetLayer first, const MuonSeedDetLayer second) const
bool operator()(const MuonSeedDetLayer first, const MuonSeedDetLayer second) const
int id() const
return layer identifyer
double z() const
return z coordinate of impact point
T x() const
Definition: PV3DBase.h:62
const GlobalPoint & point() const
return impact point