]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliQADataMakerSim.h
added additional protection against usage of custom QA data objects in Ref (see also...
[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, const Bool_t image = kFALSE)                    
32     { return Add2List(hist, index, fDigitsQAList, expert, image) ; }
33         virtual Int_t Add2ESDsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/, const Bool_t /*image = kFALSE*/)    
34   { return -1 ; } 
35         virtual Int_t Add2HitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)                      
36   { return Add2List(hist, index, fHitsQAList, expert, image) ; }
37         virtual Int_t Add2RecPointsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/, const Bool_t /*image = kFALSE*/) 
38     { return -1 ; } 
39   virtual Int_t Add2RawsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/, const Bool_t /*saveForCorr = kFALSE*/, const Bool_t /*image = kFALSE*/)      
40     { return -1 ; }  
41  virtual Int_t Add2SDigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)   
42     { return Add2List(hist, index, fSDigitsQAList, expert, image) ; }
43
44   virtual void        Exec(AliQAv1::TASKINDEX_t task, TObject * data) ;
45         virtual void        EndOfCycle() ;
46         virtual void        EndOfCycle(AliQAv1::TASKINDEX_t task) ;
47         virtual void        EndOfDetectorCycle(AliQAv1::TASKINDEX_t, TObjArray ** ) {AliInfo("To be implemented by detectors");} 
48         virtual TH1 *       GetDigitsData(const Int_t index)    { return dynamic_cast<TH1 *>(GetData(fDigitsQAList, index)) ; }
49         virtual TH1 *       GetESDsData(const Int_t /*index*/)      { return NULL ; }
50         virtual TH1 *       GetHitsData(const Int_t index)      { return dynamic_cast<TH1 *>(GetData(fHitsQAList, index)) ; }
51         virtual TH1 *       GetRecPointsData(const Int_t /*index*/) { return NULL ; }
52         virtual TH1 *       GetRawsData(const Int_t /*index*/)      { return NULL ; } 
53         virtual TH1 *       GetSDigitsData(const Int_t index)   { return dynamic_cast<TH1 *>(GetData(fSDigitsQAList, index)) ; }
54         virtual TObjArray** Init(AliQAv1::TASKINDEX_t task, Int_t cycles = -1) ;
55         virtual void        Init(AliQAv1::TASKINDEX_t task, TObjArray ** list, Int_t run, Int_t cycles = -1) ;
56   virtual void        InitRaws() {AliWarning("Call not valid") ; }
57         virtual void        InitRecPoints()                  {AliWarning("Call not valid") ; } 
58         virtual void        StartOfCycle(Int_t run = -1) ;
59         virtual void        StartOfCycle(AliQAv1::TASKINDEX_t task, Int_t run, const Bool_t sameCycle = kFALSE) ;
60
61 protected: 
62         
63         virtual void   InitDigits()                     {AliInfo("To be implemented by detectors");}
64         virtual void   InitESDs()                       {AliWarning("Call not valid") ; } 
65         virtual void   InitHits()                       {AliInfo("To be implemented by detectors");}
66         virtual void   InitSDigits()                    {AliInfo("To be implemented by detectors");}
67         virtual void   MakeESDs(AliESDEvent * )         {AliWarning("Call not valid") ; }
68         virtual void   MakeHits()                       {AliInfo("To be implemented by detectors");} 
69         virtual void   MakeHits(TTree * )               {AliInfo("To be implemented by detectors");} 
70         virtual void   MakeDigits()                     {AliInfo("To be implemented by detectors");} 
71         virtual void   MakeDigits(TTree * )             {AliInfo("To be implemented by detectors");} 
72         virtual void   MakeRaws(AliRawReader *)         {AliWarning("Call not valid") ; } 
73         virtual void   MakeRecPoints(TTree * )          {AliWarning("Call not valid") ; } 
74         virtual void   MakeSDigits()                    {AliInfo("To be implemented by detectors");} 
75         virtual void   MakeSDigits(TTree * )            {AliInfo("To be implemented by detectors");} 
76         virtual void   StartOfDetectorCycle()           {AliInfo("To be implemented by detectors");} 
77
78         TObjArray * *    fDigitsQAList ;     //! list of the digits QA data objects
79         TObjArray * *    fHitsQAList ;       //! list of the hits QA data objects
80         TObjArray * *    fSDigitsQAList ;    //! list of the sdigits QA data objects
81   TClonesArray *   fHitsArray ;       //! array to hold the hits
82   TClonesArray *   fSDigitsArray ;     //! array to hold the digits
83
84           
85  ClassDef(AliQADataMakerSim,2)  // description 
86
87 };
88
89 #endif // AliQADataMakerSim_H
90