Bug fix.
[u/mrichter/AliRoot.git] / STEER / STEERBase / 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   void Clear(const Option_t*) {;}
28   
29   enum VClu_t {kUndef = -2, 
30                kPHOSNeutral, 
31                      kPHOSCharged,
32                kEMCALClusterv1,          
33                kPMDNeutral, 
34                kPMDCharged};
35   
36   enum VCluPID_t {
37     kElectron = 0,
38     kMuon     = 1,
39     kPion     = 2,
40     kKaon     = 3,
41     kProton   = 4,
42     kPhoton   = 5,
43     kPi0      = 6,
44     kNeutron  = 7,
45     kKaon0    = 8,
46     kEleCon   = 9,
47     kUnknown  = 10,
48     kCharged  = 11,//For PMD?
49     kNeutral  = 12 //For PMD? 
50   };
51   
52   //Common EMCAL/PHOS/FMD/PMD
53   
54   virtual void        SetID(Int_t )                 { ; }
55   virtual Int_t       GetID() const                 {return 0 ; }
56   
57   virtual void        SetType(Char_t )              { ; }  
58   virtual Char_t      GetType() const               {return kUndef ; } 
59   
60   virtual void        SetE(Double_t )               { ; }
61   virtual Double_t       E() const                  {return 0. ; }
62   
63   virtual void        SetChi2(Double_t )            { ; }
64   virtual Double_t       Chi2() const               {return 0. ; }
65   
66   virtual void        SetPositionAt(Float_t,Int_t)  { ; }
67   virtual void        SetPosition(Float_t *)        { ; }
68   virtual void        GetPosition(Float_t *) const  { ; }       
69   
70   virtual void        SetPIDAt(Float_t , Int_t)     { ; }
71   virtual void        SetPID(const Float_t *)       { ; }
72   virtual const Double_t *GetPID() const            { return 0 ; }
73   
74   //CaloClusters, PHOS/EMCAL
75   
76   virtual Bool_t      IsEMCAL() const               {return kFALSE ; }
77   virtual Bool_t      IsPHOS()  const               {return kFALSE ; }
78   
79   virtual void        SetDispersion(Double_t )      { ; }
80   virtual Double_t    GetDispersion() const         {return 0. ;}
81   
82   virtual void        SetM20(Double_t)              { ; }
83   virtual Double_t    GetM20() const                {return 0. ; }
84   
85   virtual void        SetM02(Double_t)              { ; }
86   virtual Double_t    GetM02() const                {return 0. ; }
87   
88   virtual void        SetNExMax(UChar_t)            { ; }
89   virtual UChar_t     GetNExMax() const             {return 0 ; } 
90   
91   virtual void        SetTOF(Double_t)              { ; }
92   virtual Double_t    GetTOF() const                {return 0. ; }
93   
94   virtual void        SetEmcCpvDistance(Double_t)   { ; }
95   virtual Double_t    GetEmcCpvDistance() const     {return 0. ; }
96   virtual void        SetTrackDistance(Double_t, Double_t ){ ; }
97   virtual Double_t    GetTrackDx(void)const         {return 0. ; }
98   virtual Double_t    GetTrackDz(void)const         {return 0. ; }
99   
100   virtual void        SetDistanceToBadChannel(Double_t) { ; }
101   virtual Double_t    GetDistanceToBadChannel() const   {return 0. ; }
102   
103   virtual void        SetNCells(Int_t)              { ; }
104   virtual Int_t       GetNCells() const             {return 0 ; }
105   
106   virtual UShort_t   *GetCellsAbsId()               {return 0 ; }
107   virtual Double_t   *GetCellsAmplitudeFraction()   {return 0 ; }
108   virtual Int_t       GetCellAbsId(Int_t) const     {return 0 ; }  
109   virtual Double_t    GetCellAmplitudeFraction(Int_t) const {return 0. ; }
110   
111   virtual Int_t       GetLabel() const              {return -1 ;}
112   virtual Int_t       GetLabelAt(UInt_t) const      {return -1 ;}
113   virtual Int_t      *GetLabels() const             {return 0 ; }
114   virtual UInt_t      GetNLabels() const            {return 0 ; }
115   
116   virtual Int_t       GetNTracksMatched() const     {return 0 ; }
117   virtual TObject    *GetTrackMatched(Int_t) const  {return 0 ; }//AODCaloCluster
118   virtual Int_t       GetTrackMatchedIndex() const  {return -1; }//ESDCaloCluster
119   
120   virtual void GetMomentum(TLorentzVector &/*tl*/, Double_t * /*v*/) { ; }
121   
122   ClassDef(AliVCluster,0)  //VCluster 
123     };
124
125 #endif //ALIVCLUSTER_H
126