StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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