]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliQADataMakerSim.h
added the notion of expert QA data
[u/mrichter/AliRoot.git] / STEER / AliQADataMakerSim.h
1 #ifndef AliQADataMakerSim_H
2 #define AliQADataMakerSim_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 /* $Id$ */
8
9 //  Base Class:
10 //  Produces the data needed to calculate the quality assurance. 
11 //  All data must be mergeable objects.
12 //  Y. Schutz CERN July 2007
13
14
15 // --- ROOT system ---
16
17 // --- Standard library ---
18
19 // --- AliRoot header files ---
20 #include "AliQADataMaker.h"
21
22 class AliQADataMakerSim: public AliQADataMaker {
23   
24 public:
25         
26         AliQADataMakerSim(const char * name="", const char * title="") ;          // ctor
27         AliQADataMakerSim(const AliQADataMakerSim& qadm) ;   
28         AliQADataMakerSim& operator = (const AliQADataMakerSim& qadm) ;
29         virtual ~AliQADataMakerSim() ; // dtor
30   
31         virtual Int_t Add2DigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE)    { return Add2List(hist, index, fDigitsQAList, expert) ; }
32         virtual Int_t Add2ESDsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/)      { return -1 ; } 
33         virtual Int_t Add2HitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE)      { return Add2List(hist, index, fHitsQAList, expert) ; }
34         virtual Int_t Add2RecPointsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/) { return -1 ; } 
35         virtual Int_t Add2RawsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/, const Bool_t /*saveForCorr = kFALSE*/)      { return -1 ; }  
36         virtual Int_t Add2SDigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE)   { return Add2List(hist, index, fSDigitsQAList, expert) ; }
37         virtual void        Exec(AliQA::TASKINDEX_t task, TObject * data) ;
38         virtual void        EndOfCycle() ;
39         virtual void        EndOfCycle(AliQA::TASKINDEX_t task) ;
40         virtual void        EndOfDetectorCycle(AliQA::TASKINDEX_t, TObjArray * ) {AliInfo("To be implemented by detectors");} 
41         virtual TH1 *       GetDigitsData(const Int_t index)    { return dynamic_cast<TH1 *>(GetData(fDigitsQAList, index)) ; }
42         virtual TH1 *       GetESDsData(const Int_t /*index*/)      { return NULL ; }
43         virtual TH1 *       GetHitsData(const Int_t index)      { return dynamic_cast<TH1 *>(GetData(fHitsQAList, index)) ; }
44         virtual TH1 *       GetRecPointsData(const Int_t /*index*/) { return NULL ; }
45         virtual TH1 *       GetRawsData(const Int_t /*index*/)      { return NULL ; } 
46         virtual TH1 *       GetSDigitsData(const Int_t index)   { return dynamic_cast<TH1 *>(GetData(fSDigitsQAList, index)) ; }
47         virtual TObjArray * Init(AliQA::TASKINDEX_t task, Int_t cycles = -1) ;
48         virtual void        Init(AliQA::TASKINDEX_t task, TObjArray * list, Int_t run, Int_t cycles = -1) ;
49         virtual void        StartOfCycle(Int_t run = -1) ;
50         virtual void        StartOfCycle(AliQA::TASKINDEX_t task, Int_t run, const Bool_t sameCycle = kFALSE) ;
51
52 protected: 
53         
54         virtual void   InitDigits()                     {AliInfo("To be implemented by detectors");}
55         virtual void   InitESDs()                       {AliFatal("Call not valid") ; } 
56         virtual void   InitHits()                       {AliInfo("To be implemented by detectors");}
57         virtual void   InitRecPoints()                  {AliFatal("Call not valid") ; } 
58         virtual void   InitRaws()                       {AliFatal("Call not valid") ; }
59         virtual void   InitSDigits()                    {AliInfo("To be implemented by detectors");}
60         virtual void   MakeESDs(AliESDEvent * )         {AliFatal("Call not valid") ; }
61         virtual void   MakeHits(TClonesArray * )        {AliInfo("To be implemented by detectors");} 
62         virtual void   MakeHits(TTree * )               {AliInfo("To be implemented by detectors");} 
63         virtual void   MakeDigits(TClonesArray * )      {AliInfo("To be implemented by detectors");} 
64         virtual void   MakeDigits(TTree * )             {AliInfo("To be implemented by detectors");} 
65         virtual void   MakeRaws(AliRawReader *)         {AliFatal("Call not valid") ; } 
66         virtual void   MakeRecPoints(TTree * )          {AliFatal("Call not valid") ; } 
67         virtual void   MakeSDigits(TClonesArray * )     {AliInfo("To be implemented by detectors");} 
68         virtual void   MakeSDigits(TTree * )            {AliInfo("To be implemented by detectors");} 
69         virtual void   StartOfDetectorCycle()           {AliInfo("To be implemented by detectors");} 
70
71         TObjArray *    fDigitsQAList ;    //! list of the digits QA data objects
72         TObjArray *    fHitsQAList ;      //! list of the hits QA data objects
73         TObjArray *    fSDigitsQAList ;   //! list of the sdigits QA data objects
74   
75  ClassDef(AliQADataMakerSim,1)  // description 
76
77 };
78
79 #endif // AliQADataMakerSim_H
80