Changes for report #69974: Virtual class for calorimeter analysis objects
[u/mrichter/AliRoot.git] / STEER / 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,
22 kPHOSCell,
23 kEMCALCell};
24
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 virtual ~AliVCaloCells(){;}
29
30 virtual Bool_t IsEMCAL() const = 0;
31 virtual Bool_t IsPHOS() const = 0;
32 virtual Char_t GetType() const = 0;
33 virtual void SetType(Char_t ttype) = 0;
34
35 virtual void CreateContainer(Short_t nCells) = 0;
36 virtual void DeleteContainer() = 0;
37 virtual void Sort() = 0;
38
39 virtual Bool_t SetCell(Short_t pos, Short_t cellNumber, Double_t amplitude, Double_t time) = 0;
40 virtual Short_t GetNumberOfCells() const = 0;
41 virtual void SetNumberOfCells(Int_t n) = 0;
42
43 virtual Bool_t GetCell(Short_t pos, Short_t &cellNumber, Double_t &amplitude, Double_t &time) const = 0;
44 virtual Double_t GetCellAmplitude(Short_t cellNumber) = 0;
45 virtual Double_t GetCellTime(Short_t cellNumber) = 0;
46 virtual Double_t GetAmplitude(Short_t pos) const = 0;
47 virtual Double_t GetTime(Short_t pos) const = 0;
48 virtual Short_t GetCellNumber(Short_t pos) const = 0;
49
50 ClassDef(AliVCaloCells, 0);
51};
52
53#endif