Fix for definitions for CINT
[u/mrichter/AliRoot.git] / TEvtGen / EvtGen / EvtGenBase / EvtVectorParticle.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/EvtVectorParticle.hh
12 //
13 // Description: Class to describe vector particles.
14 //
15 // Modification history:
16 //
17 //    DJL/RYD     September 25, 1996         Module created
18 //
19 //------------------------------------------------------------------------
20
21 #ifndef EVTVECTORPARTICLE_HH
22 #define EVTVECTORPARTICLE_HH
23
24 #include "EvtGenBase/EvtVector4R.hh"
25 #include "EvtGenBase/EvtVector4C.hh"
26 #include "EvtGenBase/EvtParticle.hh"
27
28 class EvtId;
29
30 class EvtVectorParticle: public EvtParticle {
31
32 public:
33
34   EvtVectorParticle() {}
35   virtual ~EvtVectorParticle();
36
37   void init(EvtId part_n,double e,double px,double py,double pz);
38   void init(EvtId part_n,const EvtVector4R& p);
39   void init(EvtId part_n,const EvtVector4R& p,
40             const EvtVector4C&,const EvtVector4C&,const EvtVector4C&);
41   EvtVector4C epsParent(int i) const   {return boostTo(_eps[i],this->getP4());}
42   EvtVector4C eps(int i) const {return _eps[i];} 
43   EvtSpinDensity rotateToHelicityBasis() const;
44   EvtSpinDensity rotateToHelicityBasis(double alpha,
45                                        double beta,
46                                        double gamma) const;
47  
48 private:
49   
50   EvtVector4C _eps[3];
51
52   EvtVectorParticle(const EvtVectorParticle& vector);
53   EvtVectorParticle& operator=(const EvtVectorParticle& vector);
54   
55 };
56
57 #endif
58