CMS 3D CMS Logo

TrajectoryMeasurement.h
Go to the documentation of this file.
1 #ifndef _TRACKER_TRAJECTORYMEASUREMENT_H_
2 #define _TRACKER_TRAJECTORYMEASUREMENT_H_
3 
5 
7 #include <algorithm>
9 
10 class DetLayer;
11 
27 public:
30 
32 
35  : theFwdPredictedState(fwdTrajectoryStateOnSurface),
36  theUpdatedState(fwdTrajectoryStateOnSurface),
37  theRecHit(aRecHit),
39  theEstimate(0) {}
40 
42  TrajectoryMeasurement(TrajectoryStateOnSurface fwdTrajectoryStateOnSurface,
43  ConstRecHitPointer aRecHit,
44  float aEstimate)
45  : theFwdPredictedState(fwdTrajectoryStateOnSurface),
46  theUpdatedState(fwdTrajectoryStateOnSurface),
47  theRecHit(aRecHit),
49  theEstimate(aEstimate) {}
50 
51  TrajectoryMeasurement(TrajectoryStateOnSurface fwdTrajectoryStateOnSurface,
52  ConstRecHitPointer aRecHit,
53  float aEstimate,
54  const DetLayer* layer)
55  : theFwdPredictedState(std::move(fwdTrajectoryStateOnSurface)),
57  theRecHit(std::move(aRecHit)),
58  theLayer(layer),
59  theEstimate(aEstimate) {}
60 
62  TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface,
63  TrajectoryStateOnSurface uTrajectoryStateOnSurface,
64  ConstRecHitPointer aRecHit)
65  : theFwdPredictedState(std::move(fwdPredTrajectoryStateOnSurface)),
66  theUpdatedState(std::move(uTrajectoryStateOnSurface)),
67  theRecHit(std::move(aRecHit)),
69  theEstimate(0) {}
70 
72  TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface,
73  TrajectoryStateOnSurface uTrajectoryStateOnSurface,
74  ConstRecHitPointer aRecHit,
75  float aEstimate)
76  : theFwdPredictedState(std::move(fwdPredTrajectoryStateOnSurface)),
77  theUpdatedState(std::move(uTrajectoryStateOnSurface)),
78  theRecHit(std::move(aRecHit)),
80  theEstimate(aEstimate) {}
81  TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface,
82  TrajectoryStateOnSurface uTrajectoryStateOnSurface,
83  ConstRecHitPointer aRecHit,
84  float aEstimate,
85  const DetLayer* layer)
86  : theFwdPredictedState(std::move(fwdPredTrajectoryStateOnSurface)),
87  theUpdatedState(std::move(uTrajectoryStateOnSurface)),
88  theRecHit(std::move(aRecHit)),
89  theLayer(layer),
90  theEstimate(aEstimate) {}
94  TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface,
95  TrajectoryStateOnSurface bwdPredTrajectoryStateOnSurface,
96  TrajectoryStateOnSurface uTrajectoryStateOnSurface,
97  ConstRecHitPointer aRecHit)
98  : theFwdPredictedState(fwdPredTrajectoryStateOnSurface),
99  theBwdPredictedState(bwdPredTrajectoryStateOnSurface),
100  theUpdatedState(uTrajectoryStateOnSurface),
101  theRecHit(aRecHit),
102  theLayer(nullptr),
103  theEstimate(0) {}
104 
108  TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface,
109  TrajectoryStateOnSurface bwdPredTrajectoryStateOnSurface,
110  TrajectoryStateOnSurface uTrajectoryStateOnSurface,
111  ConstRecHitPointer aRecHit,
112  float aEstimate)
113  : theFwdPredictedState(fwdPredTrajectoryStateOnSurface),
114  theBwdPredictedState(bwdPredTrajectoryStateOnSurface),
115  theUpdatedState(uTrajectoryStateOnSurface),
116  theRecHit(aRecHit),
117  theLayer(nullptr),
118  theEstimate(aEstimate) {}
119 
120  TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface,
121  TrajectoryStateOnSurface bwdPredTrajectoryStateOnSurface,
122  TrajectoryStateOnSurface uTrajectoryStateOnSurface,
123  ConstRecHitPointer aRecHit,
124  float aEstimate,
125  const DetLayer* layer)
126  : theFwdPredictedState(fwdPredTrajectoryStateOnSurface),
127  theBwdPredictedState(bwdPredTrajectoryStateOnSurface),
128  theUpdatedState(uTrajectoryStateOnSurface),
129  theRecHit(aRecHit),
130  theLayer(layer),
131  theEstimate(aEstimate) {}
132 
137  theRecHit(rh.theRecHit),
138  theLayer(rh.theLayer),
139  theEstimate(rh.theEstimate) {}
140 
145  theRecHit = rh.theRecHit;
147  theLayer = rh.theLayer;
148 
149  return *this;
150  }
151 
156  theRecHit(std::move(rh.theRecHit)),
157  theLayer(rh.theLayer),
158  theEstimate(rh.theEstimate) {}
159 
161  using std::swap;
162  swap(theFwdPredictedState, rh.theFwdPredictedState);
163  swap(theBwdPredictedState, rh.theBwdPredictedState);
164  swap(theUpdatedState, rh.theUpdatedState);
165  swap(theRecHit, rh.theRecHit);
166  theEstimate = rh.theEstimate;
167  theLayer = rh.theLayer;
168 
169  return *this;
170  }
171 
176 
181 
186 
187  ConstRecHitPointer::element_type const& recHitR() const { return *theRecHit; }
188 
189  ConstRecHitPointer const& recHitP() const { return theRecHit; }
190 
191  ConstRecHitPointer const& recHit() const { return recHitP(); }
192 
193  float estimate() const { return theEstimate; }
194 
195  const DetLayer* layer() const { return theLayer; }
196 
197  // void setLayer( DetLayer const * il) const { theLayer=il;}
198 
199 private:
205  float theEstimate;
206 };
207 
208 #endif
TrajectoryStateOnSurface const & predictedState() const
ConstRecHitPointer const & recHit() const
TrajectoryMeasurement & operator=(TrajectoryMeasurement &&rh)
TrajectoryStateOnSurface theUpdatedState
TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface bwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface uTrajectoryStateOnSurface, ConstRecHitPointer aRecHit)
TrajectoryMeasurement(TrajectoryMeasurement const &rh)
#define nullptr
TrackingRecHit::RecHitPointer RecHitPointer
TrajectoryMeasurement(TrajectoryStateOnSurface fwdTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate, const DetLayer *layer)
TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface bwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface uTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate, const DetLayer *layer)
TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface bwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface uTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate)
void swap(Association< C > &lhs, Association< C > &rhs)
Definition: Association.h:117
TrajectoryMeasurement(TrajectoryStateOnSurface fwdTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate)
Constructor with forward predicted state, RecHit, estimate.
TrajectoryMeasurement(TrajectoryMeasurement &&rh)
TrajectoryMeasurement & operator=(TrajectoryMeasurement const &rh)
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
TrajectoryMeasurement(TrajectoryStateOnSurface fwdTrajectoryStateOnSurface, ConstRecHitPointer aRecHit)
Constructor with forward predicted state, const TrackingRecHit*.
const DetLayer * layer() const
TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface uTrajectoryStateOnSurface, ConstRecHitPointer aRecHit)
Constructor with forward predicted & updated state, RecHit.
ConstRecHitPointer const & recHitP() const
std::shared_ptr< TrackingRecHit const > RecHitPointer
TrajectoryStateOnSurface const & forwardPredictedState() const
Access to forward predicted state (from fitter or builder)
#define noexcept
TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface uTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate)
Constructor with forward predicted & updated state, RecHit, estimate.
TrackingRecHit::ConstRecHitPointer ConstRecHitPointer
ConstRecHitPointer::element_type const & recHitR() const
TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface uTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate, const DetLayer *layer)
TrajectoryStateOnSurface const & updatedState() const
TrajectoryStateOnSurface theFwdPredictedState
TrajectoryStateOnSurface theBwdPredictedState
ConstRecHitPointer theRecHit
def move(src, dest)
Definition: eostools.py:511
TrajectoryStateOnSurface const & backwardPredictedState() const
Access to backward predicted state (from smoother)