added additional protection against usage of custom QA data objects in Ref (see also...
[u/mrichter/AliRoot.git] / MUON / AliMUONVQADataMakerRec.h
CommitLineData
ece56eb9 1#ifndef ALIMUONVQADATAMAKERREC_H
2#define ALIMUONVQADATAMAKERREC_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5* See cxx source for full Copyright notice */
6
7// $Id$
8
9/// \ingroup rec
10/// \class AliMUONVQADataMakerRec
11/// \brief Interface for a MUON QADataMakerRec
12///
13/// author Laurent Aphecetche
14
15#ifndef ROOT_TObject
16# include "TObject.h"
17#endif
18
19#ifndef ALIRECOPARAM_H
20# include "AliRecoParam.h"
21#endif
22
23class AliESDEvent;
24class AliQADataMakerRec;
25class AliMUONRecoParam;
26class AliRawReader;
27class TH1;
28class TObjArray;
29class TTree;
30
31class AliMUONVQADataMakerRec : public TObject
32{
33public:
34 AliMUONVQADataMakerRec(AliQADataMakerRec* master);
35 virtual ~AliMUONVQADataMakerRec();
36
37 virtual void InitDigits() = 0;
38 virtual void InitESDs() = 0;
39 virtual void InitRaws() = 0;
40 virtual void InitRecPoints() = 0;
41
42 virtual void MakeRaws(AliRawReader* rawReader) = 0;
43 virtual void MakeDigits(TTree* dig) = 0;
44 virtual void MakeRecPoints(TTree* recpo) = 0;
45 virtual void MakeESDs(AliESDEvent* esd) = 0;
46
47 virtual void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list) = 0;
48 virtual void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list) = 0;
49 virtual void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list) = 0;
50 virtual void EndOfDetectorCycleDigits(Int_t specie, TObjArray** list) = 0;
51
52protected:
53
54 Int_t RunNumber() const;
55
56 AliRecoParam::EventSpecie_t CurrentEventSpecie() const;
57
58 const AliMUONRecoParam* GetRecoParam() const;
59
60 TH1* GetDigitsData(Int_t index) const;
61 TH1* GetESDsData(Int_t index) const;
62 TH1* GetRecPointsData(Int_t index) const;
63 TH1* GetRawsData(Int_t index) const;
64
65 Int_t Add2DigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);
66 Int_t Add2ESDsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);
67 Int_t Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);
68 Int_t Add2RawsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE, const Bool_t saveForCorr = kFALSE);
69
70private:
71 AliMUONVQADataMakerRec(const AliMUONVQADataMakerRec& rhs);
72 AliMUONVQADataMakerRec& operator=(const AliMUONVQADataMakerRec& rhs);
73
74 AliQADataMakerRec* fMaster; ///< master to get access to its methods
75
76 ClassDef(AliMUONVQADataMakerRec,1) // Interface for a MUON QADataMakerRec
77};
78
79#endif