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  TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface,
110  TrajectoryStateOnSurface bwdPredTrajectoryStateOnSurface,
111  TrajectoryStateOnSurface uTrajectoryStateOnSurface,
112  ConstRecHitPointer aRecHit, float aEstimate,
113  const DetLayer* layer) :
114  theFwdPredictedState(fwdPredTrajectoryStateOnSurface),
115  theBwdPredictedState(bwdPredTrajectoryStateOnSurface),
116  theUpdatedState(uTrajectoryStateOnSurface),
117  theRecHit(aRecHit),
118  theLayer(layer), theEstimate(aEstimate) {}
119 
120 
121 #if defined( __GXX_EXPERIMENTAL_CXX0X__)
127  theEstimate(rh.theEstimate) {}
128 
133  theRecHit = rh.theRecHit;
135  theLayer=rh.theLayer;
136 
137  return *this;
138 
139  }
140 
141 
145  theUpdatedState(std::move(rh.theUpdatedState)),
146  theRecHit(std::move(rh.theRecHit)), theLayer(rh.theLayer),
147  theEstimate(rh.theEstimate) {}
148 
150  using std::swap;
151  swap(theFwdPredictedState,rh.theFwdPredictedState);
152  swap(theBwdPredictedState,rh.theBwdPredictedState);
153  swap(theUpdatedState,rh.theUpdatedState);
154  swap(theRecHit,rh.theRecHit);
155  theEstimate=rh.theEstimate;
156  theLayer=rh.theLayer;
157 
158  return *this;
159 
160  }
161 
162 #endif
163 
164 
165 
166 
167 
172  return theFwdPredictedState;
173  }
174 
177  return theFwdPredictedState;
178  }
181  return theBwdPredictedState;
182  }
183 
188  return theUpdatedState;
189  }
190 
192  return theRecHit;
193  }
194 
195  float estimate() const { return theEstimate;}
196 
197  const DetLayer* layer() const { return theLayer;}
198 
199  void setLayer( const DetLayer* il) { theLayer=il;}
200 
201 private:
207  float theEstimate;
208 };
209 
210 #endif
nocap nocap const skelname & operator=(const skelname &)
void swap(ora::Record &rh, ora::Record &lh)
Definition: Record.h:70
TrajectoryStateOnSurface theUpdatedState
TrajectoryStateOnSurface forwardPredictedState() const
Access to forward predicted state (from fitter or builder)
TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface bwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface uTrajectoryStateOnSurface, ConstRecHitPointer aRecHit)
ConstRecHitPointer recHit() const
TrajectoryMeasurement(TrajectoryStateOnSurface fwdTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate, const DetLayer *layer)
void setLayer(const DetLayer *il)
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)
TrajectoryMeasurement(TrajectoryStateOnSurface fwdTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate)
Constructor with forward predicted state, RecHit, estimate.
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.
TrajectoryStateOnSurface updatedState() const
TrajectoryStateOnSurface predictedState() const
#define noexcept
TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface uTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate)
Constructor with forward predicted &amp; updated state, RecHit, estimate.
TransientTrackingRecHit::RecHitPointer RecHitPointer
TrajectoryMeasurement(TrajectoryStateOnSurface fwdPredTrajectoryStateOnSurface, TrajectoryStateOnSurface uTrajectoryStateOnSurface, ConstRecHitPointer aRecHit, float aEstimate, const DetLayer *layer)
TrajectoryStateOnSurface theFwdPredictedState
TrajectoryStateOnSurface theBwdPredictedState
ConstRecHitPointer theRecHit
TrajectoryStateOnSurface backwardPredictedState() const
Access to backward predicted state (from smoother)