CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrajectoryMeasurement.h
Go to the documentation of this file.
1 #ifndef _TRACKER_TRAJECTORYMEASUREMENT_H_
2 #define _TRACKER_TRAJECTORYMEASUREMENT_H_
3 
5 #include "boost/intrusive_ptr.hpp"
7 #include<algorithm>
9 
10 class DetLayer;
11 
27 public:
28 
31 
33 
35  TrajectoryMeasurement(TrajectoryStateOnSurface fwdTrajectoryStateOnSurface,
36  ConstRecHitPointer aRecHit) :
37  theFwdPredictedState(fwdTrajectoryStateOnSurface),
38  theUpdatedState(fwdTrajectoryStateOnSurface),
39  theRecHit(aRecHit),
40  theLayer(0), theEstimate(0) {}
41 
43  TrajectoryMeasurement(TrajectoryStateOnSurface fwdTrajectoryStateOnSurface,
44  ConstRecHitPointer aRecHit, float aEstimate) :
45  theFwdPredictedState(fwdTrajectoryStateOnSurface),
46  theUpdatedState(fwdTrajectoryStateOnSurface),
47  theRecHit(aRecHit),
48  theLayer(0),
49  theEstimate(aEstimate) {}
50  TrajectoryMeasurement(TrajectoryStateOnSurface fwdTrajectoryStateOnSurface,
51  ConstRecHitPointer aRecHit, float aEstimate,
52  const DetLayer* layer) :
53  theFwdPredictedState(fwdTrajectoryStateOnSurface),
54  theUpdatedState(fwdTrajectoryStateOnSurface),
55  theRecHit(aRecHit), theLayer(layer) ,
56  theEstimate(aEstimate){}
57 
59  TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface,
60  TrajectoryStateOnSurface uTrajectoryStateOnSurface,
61  ConstRecHitPointer aRecHit) :
62  theFwdPredictedState(fwdPredTrajectoryStateOnSurface),
63  theUpdatedState(uTrajectoryStateOnSurface),
64  theRecHit(aRecHit), theLayer(0),
65  theEstimate(0) {}
66 
68  TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface,
69  TrajectoryStateOnSurface uTrajectoryStateOnSurface,
70  ConstRecHitPointer aRecHit, float aEstimate) :
71  theFwdPredictedState(fwdPredTrajectoryStateOnSurface),
72  theUpdatedState(uTrajectoryStateOnSurface),
73  theRecHit(aRecHit), theLayer(0),
74  theEstimate(aEstimate) {}
75  TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface,
76  TrajectoryStateOnSurface uTrajectoryStateOnSurface,
77  ConstRecHitPointer aRecHit, float aEstimate,
78  const DetLayer* layer) :
79  theFwdPredictedState(fwdPredTrajectoryStateOnSurface),
80  theUpdatedState(uTrajectoryStateOnSurface),
81  theRecHit(aRecHit), theLayer(layer),
82  theEstimate(aEstimate) {}
83 
87  TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface,
88  TrajectoryStateOnSurface bwdPredTrajectoryStateOnSurface,
89  TrajectoryStateOnSurface uTrajectoryStateOnSurface,
90  ConstRecHitPointer aRecHit) :
91  theFwdPredictedState(fwdPredTrajectoryStateOnSurface),
92  theBwdPredictedState(bwdPredTrajectoryStateOnSurface),
93  theUpdatedState(uTrajectoryStateOnSurface),
94  theRecHit(aRecHit),
95  theLayer(0), theEstimate(0) {}
96 
100  TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface,
101  TrajectoryStateOnSurface bwdPredTrajectoryStateOnSurface,
102  TrajectoryStateOnSurface uTrajectoryStateOnSurface,
103  ConstRecHitPointer aRecHit, float aEstimate) :
104  theFwdPredictedState(fwdPredTrajectoryStateOnSurface),
105  theBwdPredictedState(bwdPredTrajectoryStateOnSurface),
106  theUpdatedState(uTrajectoryStateOnSurface),
107  theRecHit(aRecHit),
108  theLayer(0), theEstimate(aEstimate) {}
109 
110  TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface,
111  TrajectoryStateOnSurface bwdPredTrajectoryStateOnSurface,
112  TrajectoryStateOnSurface uTrajectoryStateOnSurface,
113  ConstRecHitPointer aRecHit, float aEstimate,
114  const DetLayer* layer) :
115  theFwdPredictedState(fwdPredTrajectoryStateOnSurface),
116  theBwdPredictedState(bwdPredTrajectoryStateOnSurface),
117  theUpdatedState(uTrajectoryStateOnSurface),
118  theRecHit(aRecHit),
119  theLayer(layer), theEstimate(aEstimate) {}
120 
121 
127  theEstimate(rh.theEstimate) {}
128 
133  theRecHit = rh.theRecHit;
135  theLayer=rh.theLayer;
136 
137  return *this;
138 
139  }
140 
141 #if defined( __GXX_EXPERIMENTAL_CXX0X__)
142 
146  theUpdatedState(std::move(rh.theUpdatedState)),
147  theRecHit(std::move(rh.theRecHit)), theLayer(rh.theLayer),
148  theEstimate(rh.theEstimate) {}
149 
151  using std::swap;
152  swap(theFwdPredictedState,rh.theFwdPredictedState);
153  swap(theBwdPredictedState,rh.theBwdPredictedState);
154  swap(theUpdatedState,rh.theUpdatedState);
155  swap(theRecHit,rh.theRecHit);
156  theEstimate=rh.theEstimate;
157  theLayer=rh.theLayer;
158 
159  return *this;
160 
161  }
162 
163 #endif
164 
169  return theFwdPredictedState;
170  }
171 
174  return theFwdPredictedState;
175  }
178  return theBwdPredictedState;
179  }
180 
185  return theUpdatedState;
186  }
187 
188  ConstRecHitPointer::element_type const & recHitR() const {
189  return *theRecHit.get();
190  }
191 
192  ConstRecHitPointer const & recHitP() const {
193  return theRecHit;
194  }
195 
196  ConstRecHitPointer const & recHit() const {
197  return recHitP();
198  }
199 
200  float estimate() const { return theEstimate;}
201 
202  const DetLayer* layer() const { return theLayer;}
203 
204  void setLayer( DetLayer const * il) const { theLayer=il;}
205 
206 private:
211  mutable DetLayer const * theLayer;
212  float theEstimate;
213 };
214 
215 #endif
void swap(ora::Record &rh, ora::Record &lh)
Definition: Record.h:70
TrajectoryStateOnSurface const & predictedState() const
ConstRecHitPointer const & recHit() const
TrajectoryStateOnSurface theUpdatedState
TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface bwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface uTrajectoryStateOnSurface, ConstRecHitPointer aRecHit)
TrajectoryMeasurement(TrajectoryMeasurement const &rh)
TrajectoryMeasurement(TrajectoryStateOnSurface fwdTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate, const DetLayer *layer)
TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface bwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface uTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate, const DetLayer *layer)
void setLayer(DetLayer const *il) const
TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface bwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface uTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate)
TrajectoryMeasurement(TrajectoryStateOnSurface fwdTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate)
Constructor with forward predicted state, RecHit, estimate.
TrajectoryMeasurement & operator=(TrajectoryMeasurement const &rh)
TransientTrackingRecHit::ConstRecHitPointer 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 &amp; updated state, RecHit.
ConstRecHitPointer const & recHitP() const
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 &amp; updated state, RecHit, estimate.
ConstRecHitPointer::element_type const & recHitR() const
TransientTrackingRecHit::RecHitPointer RecHitPointer
TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface uTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate, const DetLayer *layer)
TrajectoryStateOnSurface const & updatedState() const
TrajectoryStateOnSurface theFwdPredictedState
TrajectoryStateOnSurface theBwdPredictedState
ConstRecHitPointer theRecHit
TrajectoryStateOnSurface const & backwardPredictedState() const
Access to backward predicted state (from smoother)