Added V0A23 (V0 rings 2-3), V0C01 (V0 rings 0-1) and V0S = V0A23+V0C01
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliVCaloCells.h
CommitLineData
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
17class 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 &amplitude, Double_t &time, Int_t &mclabel, Double_t &efrac) const = 0;
dcd7321d 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, Bool_t isHG=kTRUE) = 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;
dcd7321d 48 virtual Bool_t GetCellHighGain(Short_t cellNumber) = 0;
77e93dc2 49 virtual Double_t GetCellTime(Short_t cellNumber) = 0;
50 virtual Short_t GetCellPosition(Short_t cellNumber) = 0;
75f071c1 51
77e93dc2 52 virtual Double_t GetAmplitude(Short_t pos) const = 0;
75f071c1 53 virtual Bool_t GetHighGain(Short_t pos) const = 0;
77e93dc2 54 virtual Double_t GetTime(Short_t pos) const = 0;
55 virtual Short_t GetCellNumber(Short_t pos) const = 0;
56
98a99800 57 virtual void Copy(TObject &obj) const = 0;
ecff8f07 58 virtual AliVCaloCells* CopyCaloCells(Bool_t all) const = 0;
59
77e93dc2 60 // MC & embedding
60d77596 61 virtual Int_t GetCellMCLabel(Short_t cellNumber) = 0;
62 virtual Int_t GetMCLabel(Short_t pos) const = 0;
77e93dc2 63
64 virtual Double_t GetCellEFraction(Short_t cellNumber) = 0;
65 virtual Double_t GetEFraction(Short_t pos) const = 0;
66
67 virtual void SetCellEFraction(Short_t cellNumber, Double_t efrac) = 0;
68 virtual void SetEFraction (Short_t pos, Double_t efrac) = 0;
69
c8fe2783 70 ClassDef(AliVCaloCells, 0);
71};
72
73#endif