1 //--------------------------------------------------------------------------
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.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 2002 Caltech
11 // Module: EvtGen/EvtEvalHelAmp.hh
13 // Description: Class for evaluation of amplitudes in the
14 // helicity formalism.
17 // Modification history:
19 // RYD October 24, 2002 Module created
21 //------------------------------------------------------------------------
23 #ifndef EVTEVALHELAMP_HH
24 #define EVTEVALHELAMP_HH
26 #include "EvtGenBase/EvtDecayAmp.hh"
27 #include "EvtGenBase/EvtSpinType.hh"
28 #include "EvtGenBase/EvtId.hh"
37 EvtEvalHelAmp(EvtId idA,
40 EvtComplexPtrPtr HBC);
42 virtual ~EvtEvalHelAmp();
46 void evalAmp(EvtParticle *p, EvtAmp& amp);
51 void fillHelicity(int* lambda2,int n,int J2, EvtId id);
52 void setUpRotationMatrices(EvtParticle *p,double theta, double phi);
53 void applyRotationMatrices();
55 //spins states available for particle A, B, and C.
59 EvtComplexPtrPtr _HBC;
61 //2 times spin for each of the particles
64 //2 times the helicity for the states
65 int *_lambdaA2,*_lambdaB2,*_lambdaC2;
68 EvtComplexPtrPtr _RA,_RB,_RC;
70 //temporary array for amplitudes
71 EvtComplexPtrPtrPtr _amp,_amp1,_amp3;