Compilation on Windows/Cygwin
[u/mrichter/AliRoot.git] / JETAN / AliJetUnitArray.h
1 #ifndef ALIJETUNITARRAY_H
2 #define ALIJETUNITARRAY_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  *  *  * See cxx source for full Copyright notice     */
6
7 //------------------------------------------------------------------
8 //  Unit used by UA1 algorithm
9 //  Authors: Sarah Blyth (LBL/UCT)
10 //           Magali Estienne (IReS) (new version for JETAN)
11 //------------------------------------------------------------------
12
13
14 #include <TObject.h>
15 #include "AliJetFinderTypes.h"
16
17 class AliJetUnitArray : public TObject
18 {
19  public:
20   AliJetUnitArray();
21   AliJetUnitArray(Int_t absId, Int_t esdId, Float_t eta, Float_t phi, Float_t en, Float_t px, Float_t py, Float_t pz, Float_t Deta, Float_t Dphi, AliJetFinderUnitDetectorFlagType_t det, AliJetFinderUnitFlagType_t inout, AliJetFinderUnitCutFlagType_t cut, Float_t mass, Int_t clusId);
22   ~AliJetUnitArray();
23
24   // Setter
25   void SetUnitEnergy(Float_t energy)  {fUnitEnergy = energy;}
26   void SetUnitEta(Float_t eta)        {fUnitEta = eta;} 
27   void SetUnitPhi(Float_t phi)        {fUnitPhi = phi;}
28   void SetUnitDeta(Float_t deta)      {fUnitDeta = deta;} 
29   void SetUnitDphi(Float_t dphi)      {fUnitDphi = dphi;}
30   void SetUnitID(Int_t id)            {fUnitID = id;}
31   void SetUnitTrackID(Int_t esdid)    {fUnitTrackID = esdid;}
32   void SetUnitEntries(Int_t num)      {fUnitNum = num;}
33   void SetUnitClusterID(Int_t id)     {fUnitClusterID = id;}
34   void SetUnitFlag(AliJetFinderUnitFlagType_t flag)    
35   { 
36     fUnitFlag = flag; 
37   } 
38   void SetUnitCutFlag(AliJetFinderUnitCutFlagType_t cutFlag)    
39   { 
40     fUnitCutFlag = cutFlag; 
41   } 
42   void SetUnitSignalFlag(AliJetFinderUnitSignalFlagType_t signalFlag)    
43   { 
44     fUnitSignalFlag = signalFlag; 
45   } 
46   void SetUnitDetectorFlag(AliJetFinderUnitDetectorFlagType_t detectorflag)    
47   { 
48     fUnitDetectorFlag = detectorflag; 
49   } 
50   void SetUnitPxPyPz(Double_t *pxyz)  {fUnitPx = pxyz[0]; fUnitPy = pxyz[1]; fUnitPz = pxyz[2];}
51   void SetUnitMass(Float_t mass) {fUnitMass = mass;}
52
53   // Getter
54   Float_t GetUnitEnergy() const            {return fUnitEnergy;}
55   Float_t GetUnitEta() const               {return fUnitEta;}
56   Float_t GetUnitPhi() const               {return fUnitPhi;}         
57   Float_t GetUnitDeta() const              {return fUnitDeta;}
58   Float_t GetUnitDphi() const              {return fUnitDphi;}         
59   Int_t   GetUnitID() const                {return fUnitID;}
60   Int_t   GetUnitTrackID() const             {return fUnitTrackID;}
61   Int_t   GetUnitEntries() const           {return fUnitNum;}
62   Int_t   GetUnitClusterID() const         {return fUnitClusterID;}
63   Float_t GetUnitMass() const              {return fUnitMass;}
64   Bool_t  GetUnitPxPyPz(Double_t* p) const {p[0]=fUnitPx; p[1]=fUnitPy; p[2]=fUnitPz; return kTRUE;}
65
66   AliJetFinderUnitFlagType_t GetUnitFlag() const     
67   {
68           return fUnitFlag;
69   }
70   AliJetFinderUnitCutFlagType_t GetUnitCutFlag() const     
71   {
72           return fUnitCutFlag;
73   }
74   AliJetFinderUnitSignalFlagType_t GetUnitSignalFlag() const     
75   {
76           return fUnitSignalFlag;
77   }
78   AliJetFinderUnitDetectorFlagType_t GetUnitDetectorFlag() const     
79   {
80           return fUnitDetectorFlag;
81   }
82
83
84   Bool_t operator>  ( AliJetUnitArray &unit1) const;
85   Bool_t operator<  ( AliJetUnitArray &unit1) const;
86   Bool_t operator== ( AliJetUnitArray &unit1) const;
87
88  protected:
89   Float_t         fUnitEnergy;                          // Energy of the unit 
90   Float_t         fUnitEta;                             // Eta of the unit
91   Float_t         fUnitPhi;                             // Phi of the unit
92   Float_t         fUnitDeta;                            // Delta Eta of the unit
93   Float_t         fUnitDphi;                            // Delta Phi of the unit
94   Int_t           fUnitID;                              // ID of the unit
95   Int_t           fUnitTrackID;                         // ID of the unit
96   Int_t           fUnitNum;                             // number of units
97   Int_t           fUnitClusterID;                       // ID of the unit
98   AliJetFinderUnitFlagType_t         fUnitFlag;         // Flag of the unit
99   AliJetFinderUnitCutFlagType_t      fUnitCutFlag;      // Flag of the unit
100   AliJetFinderUnitSignalFlagType_t   fUnitSignalFlag;   // Flag of the unit
101   AliJetFinderUnitDetectorFlagType_t fUnitDetectorFlag; // Detector flag of the unit
102   Float_t         fUnitPx;                              // Px of charged track
103   Float_t         fUnitPy;                              // Py of charged track
104   Float_t         fUnitPz;                              // Pz of charged track
105   Float_t         fUnitMass;                            // Mass of charged particle
106
107  private:
108   AliJetUnitArray(const AliJetUnitArray &det);
109   AliJetUnitArray &operator=(const AliJetUnitArray &det);
110
111   ClassDef(AliJetUnitArray,1)
112 };
113
114 #endif
115