CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
KinematicState.h
Go to the documentation of this file.
1 #ifndef KinematicState_H
2 #define KinematicState_H
3 
9 
18 public:
24  KinematicState() { vl = false; }
25 
34  const TrackCharge& charge,
35  const MagneticField* field);
36 
37  KinematicState(const FreeTrajectoryState& state, const ParticleMass& mass, float m_sigma)
38  : fts(state),
39  param(state.position().x(),
40  state.position().y(),
41  state.position().z(),
42  state.momentum().x(),
43  state.momentum().y(),
44  state.momentum().z(),
45  mass),
46  err(state.cartesianError(), m_sigma),
47  vl(true) {}
48 
49  bool operator==(const KinematicState& other) const;
50 
54  ParticleMass mass() const { return param.vector()[6]; }
55 
61  KinematicParameters const& kinematicParameters() const { return param; }
62 
64 
66 
67  GlobalVector globalMomentum() const { return fts.momentum(); }
68 
69  GlobalPoint globalPosition() const { return fts.position(); }
70 
71  TrackCharge particleCharge() const { return fts.charge(); }
72 
78 
79  bool isValid() const { return vl; }
80 
83  }
85 
87 
88 private:
92 
93  bool vl;
94 };
95 #endif
AlgebraicVector7 const & vector() const
The full vector (7 elements)
bool isValid() const
KinematicParametersError err
FreeTrajectoryState fts
const GlobalTrajectoryParameters & parameters() const
double ParticleMass
Definition: ParticleMass.h:4
GlobalVector globalMomentum() const
TrackCharge charge() const
GlobalVector magneticFieldInInverseGeV(const GlobalPoint &x) const
GlobalVector magneticFieldInInverseGeV(const GlobalPoint &x) const
ParticleMass mass() const
KinematicState(const FreeTrajectoryState &state, const ParticleMass &mass, float m_sigma)
int TrackCharge
Definition: TrackCharge.h:4
KinematicParametersError const & kinematicParametersError() const
GlobalVector momentum() const
GlobalPoint position() const
KinematicParameters const & kinematicParameters() const
const MagneticField * magneticField() const
GlobalVector magneticFieldInInverseGeV() const
KinematicParameters param
TrackCharge particleCharge() const
static int position[264][3]
Definition: ReadPGInfo.cc:289
bool operator==(const KinematicState &other) const
const MagneticField & magneticField() const
FreeTrajectoryState freeTrajectoryState() const
GlobalPoint globalPosition() const
GlobalTrajectoryParameters const & trajectoryParameters() const