]>
Commit | Line | Data |
---|---|---|
c8fe2783 | 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 | //------------------------------------------------------------------------- | |
7 | // | |
8 | // Virtual class to access calorimeter cell data | |
9 | // Author: Gustavo Conesa Balbastre INFN-LNF | |
10 | // | |
11 | //------------------------------------------------------------------------- | |
12 | ||
13 | ||
14 | #include <TNamed.h> | |
15 | #include <TMath.h> | |
16 | ||
17 | class AliVCaloCells : public TNamed | |
18 | { | |
19 | public: | |
20 | ||
21 | enum VCells_t {kUndef = -1, | |
98a99800 | 22 | kPHOSCell, |
23 | kEMCALCell}; | |
c8fe2783 | 24 | |
77e93dc2 | 25 | AliVCaloCells() : TNamed() {;} |
c8fe2783 | 26 | AliVCaloCells(const char* name, const char* title) : TNamed(name, title) {;} |
27 | AliVCaloCells(const AliVCaloCells& cells) : TNamed(cells.GetName(), cells.GetTitle()) {;} | |
98a99800 | 28 | AliVCaloCells & operator=(const AliVCaloCells& cells ) ; |
77e93dc2 | 29 | virtual ~AliVCaloCells() {;} |
8dd6eba0 | 30 | void Clear(const Option_t*) {;} |
c8fe2783 | 31 | |
77e93dc2 | 32 | virtual Bool_t IsEMCAL() const = 0; |
33 | virtual Bool_t IsPHOS() const = 0; | |
34 | virtual Char_t GetType() const = 0; | |
35 | virtual void SetType(Char_t ttype) = 0; | |
36 | ||
37 | virtual void CreateContainer(Short_t nCells) = 0; | |
38 | virtual void DeleteContainer() = 0; | |
39 | virtual void Sort() = 0; | |
40 | ||
60d77596 | 41 | virtual Bool_t GetCell(Short_t pos, Short_t &cellNumber, Double_t &litude, Double_t &time, Int_t &mclabel, Double_t &efrac) const = 0; |
42 | virtual Bool_t SetCell(Short_t pos, Short_t cellNumber, Double_t amplitude, Double_t time, Int_t mclabel=-1, Double_t efrac=0) = 0; | |
c8fe2783 | 43 | |
77e93dc2 | 44 | virtual Short_t GetNumberOfCells() const = 0; |
45 | virtual void SetNumberOfCells(Int_t n) = 0; | |
c8fe2783 | 46 | |
77e93dc2 | 47 | virtual Double_t GetCellAmplitude(Short_t cellNumber) = 0; |
48 | virtual Double_t GetCellTime(Short_t cellNumber) = 0; | |
49 | virtual Short_t GetCellPosition(Short_t cellNumber) = 0; | |
c8fe2783 | 50 | |
77e93dc2 | 51 | virtual Double_t GetAmplitude(Short_t pos) const = 0; |
52 | virtual Double_t GetTime(Short_t pos) const = 0; | |
53 | virtual Short_t GetCellNumber(Short_t pos) const = 0; | |
54 | ||
98a99800 | 55 | virtual void Copy(TObject &obj) const = 0; |
ecff8f07 | 56 | virtual AliVCaloCells* CopyCaloCells(Bool_t all) const = 0; |
57 | ||
77e93dc2 | 58 | // MC & embedding |
60d77596 | 59 | virtual Int_t GetCellMCLabel(Short_t cellNumber) = 0; |
60 | virtual Int_t GetMCLabel(Short_t pos) const = 0; | |
77e93dc2 | 61 | |
62 | virtual Double_t GetCellEFraction(Short_t cellNumber) = 0; | |
63 | virtual Double_t GetEFraction(Short_t pos) const = 0; | |
64 | ||
65 | virtual void SetCellEFraction(Short_t cellNumber, Double_t efrac) = 0; | |
66 | virtual void SetEFraction (Short_t pos, Double_t efrac) = 0; | |
67 | ||
c8fe2783 | 68 | ClassDef(AliVCaloCells, 0); |
69 | }; | |
70 | ||
71 | #endif |