]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/STEERBase/AliVCluster.h
New MFT analysis tools
[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   virtual void        SetCellsAbsId(UShort_t */*array*/) {;}  
106   virtual UShort_t   *GetCellsAbsId()               {return 0 ; }
107   virtual void        SetCellsAmplitudeFraction(Double32_t */*array*/) {;}
108   virtual Double_t   *GetCellsAmplitudeFraction()   {return 0 ; }
109   virtual Int_t       GetCellAbsId(Int_t) const     {return 0 ; }  
110   virtual Double_t    GetCellAmplitudeFraction(Int_t) const {return 0. ; }
111   
112   virtual Int_t       GetLabel() const              {return -1 ;}
113   virtual Int_t       GetLabelAt(UInt_t) const      {return -1 ;}
114   virtual Int_t      *GetLabels() const             {return 0 ; }
115   virtual UInt_t      GetNLabels() const            {return 0 ; }
116   virtual void        SetLabel(Int_t *, UInt_t )    { ; }
117
118   virtual Int_t       GetNTracksMatched() const     {return 0 ; }
119   virtual TObject    *GetTrackMatched(Int_t) const  {return 0 ; }//AODCaloCluster
120   virtual Int_t       GetTrackMatchedIndex() const  {return -1; }//ESDCaloCluster
121
122   virtual Double_t    GetMCEnergyFraction() const           {return 0 ; }
123   virtual void        SetMCEnergyFraction(Double_t)         { ; }
124   
125   virtual Double_t    GetCoreEnergy() const           {return 0 ; }
126   virtual void        SetCoreEnergy(Double_t)         { ; }
127
128   virtual void GetMomentum(TLorentzVector &/*tl*/, Double_t * /*v*/) const { ; }
129   
130   ClassDef(AliVCluster,0)  //VCluster 
131     };
132
133 #endif //ALIVCLUSTER_H
134