Bug corrected.
[u/mrichter/AliRoot.git] / STEER / AliVCluster.h
1 #ifndef ALIVCLUSTER_H
2 #define ALIVCLUSTER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5 /* $Id$ */
6
7 //-------------------------------------------------------------------------
8 //
9 //   Virtual class to access calorimeter 
10 //   (EMCAL, PHOS, PMD, FMD) cluster data
11 //   Author: Gustavo Conesa Balbastre LPSC-Grenoble
12 //
13 //-------------------------------------------------------------------------
14
15 #include <TObject.h>
16 #include <TLorentzVector.h>
17
18 class AliVCluster : public TObject 
19 {
20   
21  public:
22   
23   AliVCluster() { ; }
24   virtual ~AliVCluster() { ; }
25   AliVCluster(const AliVCluster& clus);
26   AliVCluster & operator=(const AliVCluster& source);
27   
28   enum VClu_t {kUndef = -2, 
29                kPHOSNeutral, 
30                      kPHOSCharged,
31                kEMCALClusterv1,          
32                kPMDNeutral, 
33                kPMDCharged};
34   
35   enum VCluPID_t {
36     kElectron = 0,
37     kMuon     = 1,
38     kPion     = 2,
39     kKaon     = 3,
40     kProton   = 4,
41     kPhoton   = 5,
42     kPi0      = 6,
43     kNeutron  = 7,
44     kKaon0    = 8,
45     kEleCon   = 9,
46     kUnknown  = 10,
47     kCharged  = 11,//For PMD?
48     kNeutral  = 12 //For PMD? 
49   };
50   
51   //Common EMCAL/PHOS/FMD/PMD
52   
53   virtual void        SetID(Int_t )                 { ; }
54   virtual Int_t       GetID() const                 {return 0 ; }
55   
56   virtual void        SetType(Char_t )              { ; }  
57   virtual Char_t      GetType() const               {return kUndef ; } 
58   
59   virtual void        SetE(Double_t )               { ; }
60   virtual Double_t       E() const                  {return 0. ; }
61   
62   virtual void        SetChi2(Double_t )            { ; }
63   virtual Double_t       Chi2() const               {return 0. ; }
64   
65   virtual void        SetPositionAt(Float_t,Int_t)  { ; }
66   virtual void        SetPosition(Float_t *)        { ; }
67   virtual void        GetPosition(Float_t *) const  { ; }       
68   
69   virtual void        SetPIDAt(Float_t , Int_t)     { ; }
70   virtual void        SetPID(const Float_t *)       { ; }
71   virtual const Double_t *GetPID() const            { return 0 ; }
72   
73   //CaloClusters, PHOS/EMCAL
74   
75   virtual Bool_t      IsEMCAL() const               {return -1 ; }
76   virtual Bool_t      IsPHOS()  const               {return -1 ; }
77   
78   virtual void        SetDispersion(Double_t )      { ; }
79   virtual Double_t    GetDispersion() const         {return 0. ;}
80   
81   virtual void        SetM20(Double_t)              { ; }
82   virtual Double_t    GetM20() const                {return 0. ; }
83   
84   virtual void        SetM02(Double_t)              { ; }
85   virtual Double_t    GetM02() const                {return 0. ; }
86   
87   virtual void        SetNExMax(UChar_t)            { ; }
88   virtual UChar_t     GetNExMax() const             {return 0 ; } 
89   
90   virtual void        SetTOF(Double_t)              { ; }
91   virtual Double_t    GetTOF() const                {return 0. ; }
92   
93   virtual void        SetEmcCpvDistance(Double_t)   { ; }
94   virtual Double_t    GetEmcCpvDistance() const     {return 0. ; }
95   virtual void        SetTrackDistance(Double_t, Double_t ){ ; }
96   virtual Double_t    GetTrackDx(void)const         {return 0. ; }
97   virtual Double_t    GetTrackDz(void)const         {return 0. ; }
98   
99   virtual void        SetDistanceToBadChannel(Double_t) { ; }
100   virtual Double_t    GetDistanceToBadChannel() const   {return 0. ; }
101   
102   virtual void        SetNCells(Int_t)              { ; }
103   virtual Int_t       GetNCells() const             {return 0 ; }
104   
105   virtual UShort_t   *GetCellsAbsId()               {return 0 ; }
106   virtual Double_t   *GetCellsAmplitudeFraction()   {return 0 ; }
107   virtual Int_t       GetCellAbsId(Int_t) const     {return 0 ; }  
108   virtual Double_t    GetCellAmplitudeFraction(Int_t) const {return 0. ; }
109   
110   virtual Int_t       GetLabel() const              {return -1 ;}
111   virtual Int_t       GetLabelAt(UInt_t) const      {return -1 ;}
112   virtual Int_t      *GetLabels() const             {return 0 ; }
113   virtual UInt_t      GetNLabels() const            {return 0 ; }
114   
115   virtual Int_t       GetNTracksMatched() const     {return 0 ; }
116   virtual TObject    *GetTrackMatched(Int_t) const  {return 0 ; }//AODCaloCluster
117   virtual Int_t       GetTrackMatchedIndex() const  {return -1; }//ESDCaloCluster
118   
119   virtual void GetMomentum(TLorentzVector &/*tl*/, Double_t * /*v*/) { ; }
120   
121   ClassDef(AliVCluster,0)  //VCluster 
122     };
123
124 #endif //ALIVCLUSTER_H
125