CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TwoBodyDecayTrajectoryState.h
Go to the documentation of this file.
1 #ifndef Alignment_ReferenceTrajectories_TwoBodyDecayTrajectoryState_h
2 #define Alignment_ReferenceTrajectories_TwoBodyDecayTrajectoryState_h
3 
6 
11 
12 
14 {
15 
16 public:
17 
18  typedef std::pair< TrajectoryStateOnSurface, TrajectoryStateOnSurface > TsosContainer;
19  typedef std::pair< AlgebraicMatrix, AlgebraicMatrix > Derivatives;
20 
25  const TwoBodyDecay & tbd,
26  double particleMass,
27  const MagneticField* magField );
28 
33  const TwoBodyDecayParameters & param,
34  double particleMass,
35  const MagneticField* magField );
36 
38 
39  inline bool isValid( void ) const { return theValidityFlag; }
40 
41  inline double particleMass( void ) const { return theParticleMass; }
42  inline const TwoBodyDecayParameters & decayParameters( void ) const { return theParameters; }
43  inline const TsosContainer& trajectoryStates( bool useRefittedState = true ) const { return useRefittedState ? theRefittedTsos : theOriginalTsos; }
44  inline const Derivatives& derivatives( void ) const { return theDerivatives; }
45 
46 private:
47 
48  void construct( const MagneticField* magField );
49 
51  const AlgebraicMatrix & startDeriv,
52  const Surface & surface,
53  const MagneticField* magField,
55  AlgebraicMatrix & endDeriv );
56 
58 
60 
65 
66 
67  static const unsigned int nLocalParam = 5;
68  static const unsigned int nDecayParam = TwoBodyDecayParameters::dimension;
69 };
70 
71 
72 #endif
static const unsigned int nDecayParam
const TsosContainer & trajectoryStates(bool useRefittedState=true) const
const Derivatives & derivatives(void) const
bool propagateSingleState(const GlobalTrajectoryParameters &gtp, const AlgebraicMatrix &startDeriv, const Surface &surface, const MagneticField *magField, TrajectoryStateOnSurface &tsos, AlgebraicMatrix &endDeriv)
void construct(const MagneticField *magField)
CLHEP::HepMatrix AlgebraicMatrix
TwoBodyDecayTrajectoryState(const TsosContainer &tsos, const TwoBodyDecay &tbd, double particleMass, const MagneticField *magField)
std::pair< TrajectoryStateOnSurface, TrajectoryStateOnSurface > TsosContainer
const TwoBodyDecayParameters & decayParameters(void) const
std::pair< AlgebraicMatrix, AlgebraicMatrix > Derivatives
static const unsigned int nLocalParam