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 */
6 //-------------------------------------------------------------------------
8 // Virtual class to access calorimeter cell data
9 // Author: Gustavo Conesa Balbastre INFN-LNF
11 //-------------------------------------------------------------------------
17 class AliVCaloCells : public TNamed
21 enum VCells_t {kUndef = -1,
25 AliVCaloCells() : TNamed() {;}
26 AliVCaloCells(const char* name, const char* title) : TNamed(name, title) {;}
27 AliVCaloCells(const AliVCaloCells& cells) : TNamed(cells.GetName(), cells.GetTitle()) {;}
28 AliVCaloCells & operator=(const AliVCaloCells& cells ) ;
29 virtual ~AliVCaloCells() {;}
30 void Clear(const Option_t*) {;}
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;
37 virtual void CreateContainer(Short_t nCells) = 0;
38 virtual void DeleteContainer() = 0;
39 virtual void Sort() = 0;
41 virtual Bool_t GetCell(Short_t pos, Short_t &cellNumber, Double_t &litude, Double_t &time, Short_t &mclabel, Double_t &efrac) const = 0;
42 virtual Bool_t SetCell(Short_t pos, Short_t cellNumber, Double_t amplitude, Double_t time, Short_t mclabel=-1, Double_t efrac=0) = 0;
44 virtual Short_t GetNumberOfCells() const = 0;
45 virtual void SetNumberOfCells(Int_t n) = 0;
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;
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;
55 virtual void Copy(TObject &obj) const = 0;
56 virtual AliVCaloCells* CopyCaloCells(Bool_t all) const = 0;
59 virtual Short_t GetCellMCLabel(Short_t cellNumber) = 0;
60 virtual Short_t GetMCLabel(Short_t pos) const = 0;
62 virtual Double_t GetCellEFraction(Short_t cellNumber) = 0;
63 virtual Double_t GetEFraction(Short_t pos) const = 0;
65 virtual void SetCellEFraction(Short_t cellNumber, Double_t efrac) = 0;
66 virtual void SetEFraction (Short_t pos, Double_t efrac) = 0;
68 ClassDef(AliVCaloCells, 0);