Fix for definitions for CINT
[u/mrichter/AliRoot.git] / TEvtGen / EvtGen / EvtGenBase / EvtKine.hh
1 //--------------------------------------------------------------------------
2 //
3 // Environment:
4 //      This software is part of the EvtGen package developed jointly
5 //      for the BaBar and CLEO collaborations.  If you use all or part
6 //      of it, please give an appropriate acknowledgement.
7 //
8 // Copyright Information: See EvtGen/COPYRIGHT
9 //      Copyright (C) 1998      Caltech, UCSB
10 //
11 // Module: EvtGen/EvtKine.hh
12 //
13 // Description:routines to calc. decay angles.
14 //
15 // Modification history:
16 //
17 //    DJL/RYD     September 25, 1996         Module created
18 //
19 //------------------------------------------------------------------------
20
21 #ifndef EVTKINE_HH
22 #define EVTKINE_HH
23
24 class EvtVector4R;
25 class EvtComplex;
26
27 double EvtDecayAngle(const EvtVector4R&, const EvtVector4R&,
28                      const EvtVector4R&);
29
30 double EvtDecayAngleChi(const EvtVector4R&, const EvtVector4R&, 
31                         const EvtVector4R&, const EvtVector4R&, 
32                         const EvtVector4R& );
33
34 //
35 // This routine calculates the cosine of the angle between
36 // the normal of the decay plane and the flight direction of particle q
37 // in the parent frame.
38 //
39 double EvtDecayPlaneNormalAngle(const EvtVector4R& p,const EvtVector4R& q,
40                                 const EvtVector4R& d1,const EvtVector4R& d2);
41
42
43
44 // Added by AJB
45 //
46 // Calculate phi (between 0 and 2 pi) of the daughter given the 4-momentum of
47 // the grandparent, parent, resonance and the daughter.  g, p, q and d need to
48 // be in the same rest frame.  Note that for the first level of the tree there
49 // is no grandparent and thus <0,0,0,1> should be passed in for g.  When there
50 // is no parent the angles need to be calculated by simply by calculating polar
51 // and azymuthal angles in the rest frame of the resonance (since this will
52 // generally be the root particle and is generally at rest the polar and
53 // azymuthal angels can simply be calculated.
54 //
55 double EvtDecayAnglePhi( const EvtVector4R& g, const EvtVector4R& p,
56                          const EvtVector4R& q, const EvtVector4R& d );
57
58 // Wigner big-D function in Jackson convention
59 //
60 // XXX NOTE XXX
61 //  - EvtDecayAngle returns the cos \theta and EvtdFunction requires theta
62 //  - In EvtdFunction j m1 and m2 are really 2 * j, 2 * m1, 2*m2 to deal with
63 //    spin 1/2 particles
64 //
65 EvtComplex wignerD( int j, int m1, int m2, double phi, double theta,
66                     double gamma );
67
68
69 #endif
70
71
72
73
74
75
76