CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/Alignment/TwoBodyDecay/interface/TwoBodyDecayModel.h

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