Go to the documentation of this file.00001 #ifndef Alignment_TwoBodyDecay_TwoBodyDecayModel_h
00002 #define Alignment_TwoBodyDecay_TwoBodyDecayModel_h
00003
00004
00013 #include "Alignment/TwoBodyDecay/interface/TwoBodyDecay.h"
00014
00015
00016 class TwoBodyDecayModel
00017 {
00018 public:
00019
00020 TwoBodyDecayModel( double mPrimary = 91.1876, double mSecondary = 0.105658 );
00021 ~TwoBodyDecayModel();
00022
00025 AlgebraicMatrix rotationMatrix( double px, double py, double pz );
00026
00030 AlgebraicMatrix curvilinearToCartesianJacobian( double rho, double theta, double phi, double zMagField );
00031
00035 AlgebraicMatrix curvilinearToCartesianJacobian( AlgebraicVector curv, double zMagField );
00036
00040 AlgebraicVector convertCurvilinearToCartesian( AlgebraicVector curv, double zMagField );
00041
00044 const std::pair< AlgebraicVector, AlgebraicVector > cartesianSecondaryMomenta( const AlgebraicVector & param );
00045
00048 const std::pair< AlgebraicVector, AlgebraicVector > cartesianSecondaryMomenta( const TwoBodyDecay & tbd );
00049
00052 const std::pair< AlgebraicVector, AlgebraicVector > cartesianSecondaryMomenta( const TwoBodyDecayParameters & tbdparam );
00053
00054 private:
00055
00056 double thePrimaryMass;
00057 double theSecondaryMass;
00058
00059 };
00060
00061
00062 #endif