CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ParticleKinematicLinearizedTrackState.h
Go to the documentation of this file.
1 #ifndef ParticleKinematicLinearizedTrackState_H
2 #define ParticleKinematicLinearizedTrackState_H
3 
12 
14 
15 public:
16 
19 
21  {jacobiansAvailable = false;}
22 
28  (const GlobalPoint & newLP) const;
29 
33  const GlobalPoint & linearizationPoint() const { return theLinPoint; }
34 
35 
39  const AlgebraicVector6 & constantTerm() const;
40 
44  virtual const AlgebraicMatrix63 & positionJacobian() const;
45 
49  virtual const AlgebraicMatrix64 & momentumJacobian() const;
50 
54 
64 
69 
74 
79 
84 
85 // /**
86 // * Method returning the impact point measurement
87 // */
88 // ImpactPointMeasurement impactPointMeasurement() const;
89 
90  TrackCharge charge() const;
91 
93 
94  bool operator ==(LinearizedTrackState<6>& other)const;
95 
96  bool hasError() const;
97 
99  const GlobalPoint & vertexPosition,
100  const AlgebraicVectorM & vectorParameters,
101  const AlgebraicSymMatrix77 & covarianceMatrix) const;
102 
107  const RefCountedRefittedTrackState & theRefittedState) const;
108 
109  virtual inline void checkParameters(AlgebraicVectorN & parameters) const;
110 
111  double weightInMixture() const;
112 
113  std::vector<ReferenceCountingPointer<LinearizedTrackState<6> > > components()
114  const;
115 
116  virtual reco::TransientTrack track() const;
117 
118 
119 private:
120 
125  : theLinPoint(linP), part(prt), jacobiansAvailable(false),
126  theCharge(prt->currentState().particleCharge()) ,impactPointAvailable(false)
127 
128  {}
129 
133  void computeJacobians() const;
137  void computeChargedJacobians() const;
138 
142  void computeNeutralJacobians() const;
143 
144 
148 
149  mutable bool errorAvailable;
150  mutable bool jacobiansAvailable;
156 
158 // ImpactPointMeasurementExtractor theIPMExtractor;
159  mutable bool impactPointAvailable;
160 };
161 #endif
ROOT::Math::SVector< double, N > AlgebraicVectorN
RefCountedRefittedTrackState createRefittedTrackState(const GlobalPoint &vertexPosition, const AlgebraicVectorM &vectorParameters, const AlgebraicSymMatrix77 &covarianceMatrix) const
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
ROOT::Math::SMatrix< double, 6, 4, ROOT::Math::MatRepStd< double, 6, 4 > > AlgebraicMatrix64
ROOT::Math::SVector< double, 6 > AlgebraicVector6
ROOT::Math::SMatrix< double, 7, 7, ROOT::Math::MatRepSym< double, 7 > > AlgebraicSymMatrix77
Definition: Matrices.h:9
int TrackCharge
Definition: TrackCharge.h:4
ROOT::Math::SMatrix< double, 4, 4, ROOT::Math::MatRepSym< double, 4 > > AlgebraicSymMatrix44
AlgebraicSymMatrix66 predictedStateWeight(int &error) const
ParticleKinematicLinearizedTrackState(const GlobalPoint &linP, RefCountedKinematicParticle &prt)
bool operator==(LinearizedTrackState< 6 > &other) const
virtual const AlgebraicMatrix64 & momentumJacobian() const
ROOT::Math::SVector< double, N-2 > AlgebraicVectorM
ReferenceCountingPointer< RefittedTrackState< N > > RefCountedRefittedTrackState
virtual const AlgebraicMatrix63 & positionJacobian() const
ReferenceCountingPointer< LinearizedTrackState< 6 > > RefCountedLinearizedTrackState
std::vector< ReferenceCountingPointer< LinearizedTrackState< 6 > > > components() const
virtual ReferenceCountingPointer< LinearizedTrackState< 6 > > stateWithNewLinearizationPoint(const GlobalPoint &newLP) const
part
Definition: HCALResponse.h:20
ROOT::Math::SMatrix< double, 6, 3, ROOT::Math::MatRepStd< double, 6, 3 > > AlgebraicMatrix63
virtual void checkParameters(AlgebraicVectorN &parameters) const
virtual AlgebraicVectorN refittedParamFromEquation(const RefCountedRefittedTrackState &theRefittedState) const
volatile std::atomic< bool > shutdown_flag false