AliRoot Core  edcc906 (edcc906)
AliVCaloCells.h
Go to the documentation of this file.
1 #ifndef ALIVCALOCELLS_H
2 #define ALIVCALOCELLS_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 //-------------------------------------------------------------------------
13 //
14 //-------------------------------------------------------------------------
15 
16 #include <TNamed.h>
17 #include <TMath.h>
18 
19 class AliVCaloCells : public TNamed
20 {
21  public:
22 
23  enum VCells_t {kUndef = -1,
26 
27  AliVCaloCells() : TNamed() {;}
28  AliVCaloCells(const char* name, const char* title) : TNamed(name, title) {;}
29  AliVCaloCells(const AliVCaloCells& cells) : TNamed(cells.GetName(), cells.GetTitle()) {;}
30  AliVCaloCells & operator=(const AliVCaloCells& cells ) ;
31  virtual ~AliVCaloCells() {;}
32  void Clear(const Option_t*) {;}
33 
34  virtual Bool_t IsEMCAL() const = 0;
35  virtual Bool_t IsPHOS() const = 0;
36  virtual Char_t GetType() const = 0;
37  virtual void SetType(Char_t ttype) = 0;
38 
39  virtual void CreateContainer(Short_t nCells) = 0;
40  virtual void DeleteContainer() = 0;
41  virtual void Sort() = 0;
42 
43  virtual Bool_t GetCell(Short_t pos, Short_t &cellNumber, Double_t &amplitude, Double_t &time, Int_t &mclabel, Double_t &efrac) const = 0;
44  virtual Bool_t SetCell(Short_t pos, Short_t cellNumber, Double_t amplitude, Double_t time, Int_t mclabel=-1, Double_t efrac=0, Bool_t isHG=kTRUE) = 0;
45 
46  virtual Short_t GetNumberOfCells() const = 0;
47  virtual void SetNumberOfCells(Int_t n) = 0;
48 
49  virtual Double_t GetCellAmplitude(Short_t cellNumber) = 0;
50  virtual Bool_t GetCellHighGain(Short_t cellNumber) = 0;
51  virtual Double_t GetCellTime(Short_t cellNumber) = 0;
52  virtual Short_t GetCellPosition(Short_t cellNumber) = 0;
53 
54  virtual Double_t GetAmplitude(Short_t pos) const = 0;
55  virtual Bool_t GetHighGain(Short_t pos) const = 0;
56  virtual Double_t GetTime(Short_t pos) const = 0;
57  virtual Short_t GetCellNumber(Short_t pos) const = 0;
58 
59  virtual void Copy(TObject &obj) const = 0;
60  virtual AliVCaloCells* CopyCaloCells(Bool_t all) const = 0;
61 
62  // MC & embedding
63  virtual Int_t GetCellMCLabel(Short_t cellNumber) = 0;
64  virtual Int_t GetMCLabel(Short_t pos) const = 0;
65  virtual void SetMCLabel(Short_t pos, Int_t val) = 0;
66 
67  virtual Double_t GetCellEFraction(Short_t cellNumber) = 0;
68  virtual Double_t GetEFraction(Short_t pos) const = 0;
69 
70  virtual void SetCellEFraction(Short_t cellNumber, Double_t efrac) = 0;
71  virtual void SetEFraction (Short_t pos, Double_t efrac) = 0;
72 
74  ClassDef(AliVCaloCells, 0) ;
76 
77 };
78 
79 #endif
virtual void Sort()=0
virtual Bool_t IsEMCAL() const =0
virtual Char_t GetType() const =0
virtual Double_t GetCellTime(Short_t cellNumber)=0
virtual Short_t GetCellNumber(Short_t pos) const =0
virtual Bool_t SetCell(Short_t pos, Short_t cellNumber, Double_t amplitude, Double_t time, Int_t mclabel=-1, Double_t efrac=0, Bool_t isHG=kTRUE)=0
virtual Short_t GetNumberOfCells() const =0
virtual ~AliVCaloCells()
Definition: AliVCaloCells.h:31
Virtual class for calorimeter cell data handling.
Definition: AliVCaloCells.h:19
virtual Bool_t IsPHOS() const =0
virtual void SetCellEFraction(Short_t cellNumber, Double_t efrac)=0
virtual Int_t GetCellMCLabel(Short_t cellNumber)=0
AliVCaloCells & operator=(const AliVCaloCells &cells)
AliVCaloCells(const AliVCaloCells &cells)
Definition: AliVCaloCells.h:29
virtual Int_t GetMCLabel(Short_t pos) const =0
void Clear(const Option_t *)
Definition: AliVCaloCells.h:32
virtual Bool_t GetCell(Short_t pos, Short_t &cellNumber, Double_t &amplitude, Double_t &time, Int_t &mclabel, Double_t &efrac) const =0
virtual Short_t GetCellPosition(Short_t cellNumber)=0
virtual Double_t GetAmplitude(Short_t pos) const =0
virtual Bool_t GetCellHighGain(Short_t cellNumber)=0
AliVCaloCells(const char *name, const char *title)
Definition: AliVCaloCells.h:28
virtual AliVCaloCells * CopyCaloCells(Bool_t all) const =0
virtual void SetNumberOfCells(Int_t n)=0
virtual Double_t GetCellAmplitude(Short_t cellNumber)=0
virtual void Copy(TObject &obj) const =0
virtual Double_t GetTime(Short_t pos) const =0
virtual void SetType(Char_t ttype)=0
virtual void DeleteContainer()=0
virtual Double_t GetEFraction(Short_t pos) const =0
virtual void SetEFraction(Short_t pos, Double_t efrac)=0
virtual void SetMCLabel(Short_t pos, Int_t val)=0
virtual Bool_t GetHighGain(Short_t pos) const =0
virtual Double_t GetCellEFraction(Short_t cellNumber)=0
virtual void CreateContainer(Short_t nCells)=0