StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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 
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 
Definition: EvtId.hh:27
Definition: EvtAmp.hh:30