]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenBase/EvtEvalHelAmp.hh
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtEvalHelAmp.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) 2002      Caltech
10 //
11 // Module: EvtGen/EvtEvalHelAmp.hh
12 //
13 // Description: Class for evaluation of amplitudes in the 
14 //              helicity formalism.
15 //             
16 //
17 // Modification history:
18 //
19 //    RYD      October 24, 2002         Module created
20 //
21 //------------------------------------------------------------------------
22
23 #ifndef EVTEVALHELAMP_HH
24 #define EVTEVALHELAMP_HH
25
26 #include "EvtGenBase/EvtDecayAmp.hh"
27 #include "EvtGenBase/EvtSpinType.hh"
28 #include "EvtGenBase/EvtId.hh"
29
30 class EvtParticle;
31 class EvtAmp;
32
33 class EvtEvalHelAmp{
34
35 public:
36
37   EvtEvalHelAmp(EvtId idA,
38                 EvtId idB,
39                 EvtId idC,
40                 EvtComplexPtrPtr HBC);
41
42   virtual ~EvtEvalHelAmp();
43
44   double probMax();
45
46   void evalAmp(EvtParticle *p, EvtAmp& amp); 
47
48
49 private:
50
51   void fillHelicity(int* lambda2,int n,int J2, EvtId id);
52   void setUpRotationMatrices(EvtParticle *p,double theta, double phi);
53   void applyRotationMatrices();
54
55   //spins states available for particle A, B, and C.
56   int _nA,_nB,_nC;
57
58   //helicity amplitudes
59   EvtComplexPtrPtr _HBC;
60
61   //2 times spin for each of the particles
62   int _JA2,_JB2,_JC2;
63
64   //2 times the helicity for the states
65   int *_lambdaA2,*_lambdaB2,*_lambdaC2;
66
67   //Rotation matrices
68   EvtComplexPtrPtr _RA,_RB,_RC;
69
70   //temporary array for amplitudes
71   EvtComplexPtrPtrPtr _amp,_amp1,_amp3;
72
73 };
74
75 #endif
76
77
78
79
80
81