Changes to compile with Root6 on macosx64
[u/mrichter/AliRoot.git] / STEER / 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   //
49   virtual TObject*    GetDigitsData(const Int_t index)        { return GetData(fDigitsQAList, index); }
50   virtual TObject*    GetESDsData(const Int_t /*index*/)      { return NULL; }
51   virtual TObject*    GetHitsData(const Int_t index)          { return GetData(fHitsQAList, index); }
52   virtual TObject*    GetRecPointsData(const Int_t /*index*/) { return NULL; }
53   virtual TObject*    GetRawsData(const Int_t /*index*/)      { return NULL; } 
54   virtual TObject*    GetSDigitsData(const Int_t index)       { return GetData(fSDigitsQAList, index); }
55   //
56   virtual TH1*        GetDigitsData(const Int_t index, int cloneID)  { return GetData(fDigitsQAList, index, cloneID); }
57   virtual TH1*        GetESDsData(const Int_t /*index*/, int)        { return NULL; }
58   virtual TH1*        GetHitsData(const Int_t index, int cloneID)    { return GetData(fHitsQAList, index, cloneID); }
59   virtual TH1*        GetRecPointsData(const Int_t /*index*/, int)   { return NULL; }
60   virtual TH1*        GetRawsData(const Int_t /*index*/, int)        { return NULL; } 
61   virtual TH1*        GetSDigitsData(const Int_t index, int cloneID) { return GetData(fSDigitsQAList, index, cloneID); }
62   //
63   virtual TObjArray*  GetDigitsDataOfTrigClass(int cloneID, TObjArray *dest=0)              {return GetDataOfTrigClass(fDigitsQAList,cloneID,dest);}
64   virtual TObjArray*  GetSDigitsDataOfTrigClass(int cloneID, TObjArray *dest=0)             {return GetDataOfTrigClass(fSDigitsQAList,cloneID,dest);}
65   virtual TObjArray*  GetESDsDataOfTrigClass(int /*cloneID*/, TObjArray */*dest*/=0)        {return NULL;}
66   virtual TObjArray*  GetHitsDataOfTrigClass(int cloneID, TObjArray *dest=0)                {return GetDataOfTrigClass(fHitsQAList,cloneID,dest);}
67   virtual TObjArray*  GetRecPointsDataOfTrigClass(int /*cloneID*/, TObjArray */*dest*/=0)   {return NULL;}
68   virtual TObjArray*  GetRawsDataOfTrigClass(int /*cloneID*/, TObjArray */*dest*/=0)        {return NULL;}
69   //
70   virtual TObjArray** Init(AliQAv1::TASKINDEX_t task, Int_t cycles = -1) ;
71   virtual void        Init(AliQAv1::TASKINDEX_t task, TObjArray ** list, Int_t run, Int_t cycles = -1) ;
72   virtual void        InitRaws() {AliWarning("Call not valid") ; }
73   virtual void        InitRecPoints()                  {AliWarning("Call not valid") ; } 
74   virtual void        ResetDetector(AliQAv1::TASKINDEX_t task) ;
75   virtual void        StartOfCycle(Int_t run = -1) ;
76   virtual void        StartOfCycle(AliQAv1::TASKINDEX_t task, Int_t run, const Bool_t sameCycle = kFALSE) ;
77   //
78   virtual TH1*       GetMatchingHitsHisto(Int_t index, Int_t trigId)       {return GetMatchingHisto(fHitsQAList,index,trigId);}
79   virtual TH1*       GetMatchingSDigitsHisto(Int_t index, Int_t trigId)    {return GetMatchingHisto(fSDigitsQAList,index,trigId);}
80   virtual TH1*       GetMatchingDigitsHisto(Int_t index, Int_t trigId)     {return GetMatchingHisto(fDigitsQAList,index,trigId);}
81   virtual TH1*       GetMatchingRawsHisto(Int_t, Int_t)                    {return 0;}
82   virtual TH1*       GetMatchingRecPointsHisto(Int_t, Int_t)               {return 0;}
83   virtual TH1*       GetMatchingESDsHisto(Int_t, Int_t)                    {return 0;}
84   //
85   virtual TObjArray* GetMatchingHitsHistosSet(const Int_t* indexList, Int_t nHist,Int_t trigId)    {return GetMatchingHistosSet(fHitsQAList,indexList,nHist,trigId);}
86   virtual TObjArray* GetMatchingSDigitsHistosSet(const Int_t* indexList, Int_t nHist,Int_t trigId) {return GetMatchingHistosSet(fSDigitsQAList,indexList,nHist,trigId);}
87   virtual TObjArray* GetMatchingDigitsHistosSet(const Int_t* indexList, Int_t nHist,Int_t trigId)  {return GetMatchingHistosSet(fDigitsQAList,indexList,nHist,trigId);}
88   virtual TObjArray* GetMatchingRawsHistosSet(const Int_t*, Int_t,Int_t)                           {return 0;}
89   virtual TObjArray* GetMatchingRecPointsHistosSet(const Int_t*,Int_t,Int_t)                       {return 0;}
90   virtual TObjArray* GetMatchingESDsHistosSet(const Int_t*, Int_t,Int_t)                           {return 0;}
91   //
92   virtual TObjArray* GetMatchingHitsData(const Int_t index, TObjArray* optDest=0)    {return GetMatchingHistos(fHitsQAList,index,optDest);}
93   virtual TObjArray* GetMatchingSDigitsData(const Int_t index, TObjArray* optDest=0) {return GetMatchingHistos(fSDigitsQAList,index,optDest);}
94   virtual TObjArray* GetMatchingDigitsData(const Int_t index, TObjArray* optDest=0)  {return GetMatchingHistos(fDigitsQAList,index,optDest);}
95   virtual TObjArray* GetMatchingRawsData(const Int_t, TObjArray*)                    {return 0;}
96   virtual TObjArray* GetMatchingRecPointsData(const Int_t, TObjArray*)               {return 0;}
97   virtual TObjArray* GetMatchingESDsData(const Int_t, TObjArray*)                    {return 0;}
98   //
99   virtual Int_t  FillHitsData(Int_t index, double x)                   {return FillData(fHitsQAList, index, x);}
100   virtual Int_t  FillSDigitsData(Int_t index, double x)                {return FillData(fSDigitsQAList, index, x);}
101   virtual Int_t  FillDigitsData(Int_t index, double x)                 {return FillData(fDigitsQAList, index, x);}
102   virtual Int_t  FillRawsData(Int_t, double)                           {return -1;}
103   virtual Int_t  FillRecPointsData(Int_t, double)                      {return -1;}
104   virtual Int_t  FillESDsData(Int_t, double)                           {return -1;}
105   //
106   virtual Int_t  FillHitsData(Int_t index, double x, double y)         {return FillData(fHitsQAList, index, x, y);}
107   virtual Int_t  FillSDigitsData(Int_t index, double x, double y)      {return FillData(fSDigitsQAList, index, x, y);}
108   virtual Int_t  FillDigitsData(Int_t index, double x, double y)       {return FillData(fDigitsQAList, index, x, y);}
109   virtual Int_t  FillRawsData(Int_t, double, double)                   {return -1;}
110   virtual Int_t  FillRecPointsData(Int_t, double, double)              {return -1;}
111   virtual Int_t  FillESDsData(Int_t, double, double)                   {return -1;}
112   //
113   virtual Int_t  FillHitsData(Int_t index, double x, double y, double z)         {return FillData(fHitsQAList, index, x,y,z);}
114   virtual Int_t  FillSDigitsData(Int_t index, double x, double y, double z)      {return FillData(fSDigitsQAList, index, x,y,z);}
115   virtual Int_t  FillDigitsData(Int_t index, double x, double y, double z)       {return FillData(fDigitsQAList, index, x,y,z);}
116   virtual Int_t  FillRawsData(Int_t, double, double, double)                     {return -1;}
117   virtual Int_t  FillRecPointsData(Int_t, double, double, double)                {return -1;}
118   virtual Int_t  FillESDsData(Int_t, double, double, double)                     {return -1;}
119   //
120   virtual Int_t  SetHitsDataBinContent(Int_t index, int bin, double w)           {return SetDataBinContent(fHitsQAList, index,bin,w);}
121   virtual Int_t  SetDigitsDataBinContent(Int_t index, int bin, double w)         {return SetDataBinContent(fDigitsQAList, index,bin,w);}
122   virtual Int_t  SetSDigitsDataBinContent(Int_t index, int bin, double w)        {return SetDataBinContent(fSDigitsQAList, index,bin,w);}
123   virtual Int_t  SetRawsDataBinContent(Int_t, int, double)                       {return -1;}
124   virtual Int_t  SetRecPointsDataBinContent(Int_t, int, double)                  {return -1;}
125   virtual Int_t  SetESDsDataBinContent(Int_t, int, double)                       {return -1;}
126   //
127   virtual Int_t  SetHitsDataBinContent(Int_t index, int binX, int binY, double w)      {return SetDataBinContent(fHitsQAList, index,binX,binY,w);}
128   virtual Int_t  SetDigitsDataBinContent(Int_t index, int binX, int binY, double w)    {return SetDataBinContent(fDigitsQAList, index,binX,binY,w);}
129   virtual Int_t  SetSDigitsDataBinContent(Int_t index, int binX, int binY, double w)   {return SetDataBinContent(fSDigitsQAList, index,binX,binY,w);}
130   virtual Int_t  SetRawsDataBinContent(Int_t, int, int, double)                        {return -1;}
131   virtual Int_t  SetRecPointsDataBinContent(Int_t, int, int, double)                   {return -1;}
132   virtual Int_t  SetESDsDataBinContent(Int_t, int, int, double)                        {return -1;}
133   //
134   virtual Int_t  SetHitsDataBinError(Int_t index, int bin, double err)           {return SetDataBinError(fHitsQAList, index,bin,err);}
135   virtual Int_t  SetDigitsDataBinError(Int_t index, int bin, double err)         {return SetDataBinError(fDigitsQAList, index,bin,err);}
136   virtual Int_t  SetSDigitsDataBinError(Int_t index, int bin, double err)        {return SetDataBinError(fSDigitsQAList, index,bin,err);}
137   virtual Int_t  SetRawsDataBinError(Int_t, int, double)                         {return -1;}
138   virtual Int_t  SetRecPointsDataBinError(Int_t, int, double)                    {return -1;}
139   virtual Int_t  SetESDsDataBinError(Int_t, int, double)                         {return -1;}
140   //
141   virtual Int_t  SetHitsDataBinError(Int_t index, int binX, int binY, double err)       {return SetDataBinError(fHitsQAList, index,binX,binY,err);}
142   virtual Int_t  SetDigitsDataBinError(Int_t index, int binX, int binY, double err)     {return SetDataBinError(fDigitsQAList, index,binX,binY,err);}
143   virtual Int_t  SetSDigitsDataBinError(Int_t index, int binX, int binY, double err)    {return SetDataBinError(fSDigitsQAList, index,binX,binY,err);}
144   virtual Int_t  SetRawsDataBinError(Int_t, int, int, double)                           {return -1;}
145   virtual Int_t  SetRecPointsDataBinError(Int_t, int, int, double)                      {return -1;}
146   virtual Int_t  SetESDsDataBinError(Int_t, int, int, double)                           {return -1;}
147   //
148   virtual Int_t  ResetHitsData(Int_t index, Option_t* opt="")                    {return ResetData(fHitsQAList, index, opt);}
149   virtual Int_t  ResetSDigitsData(Int_t index, Option_t* opt="")                 {return ResetData(fSDigitsQAList, index, opt);}
150   virtual Int_t  ResetDigitsData(Int_t index, Option_t* opt="")                  {return ResetData(fDigitsQAList, index, opt);}
151   virtual Int_t  ResetRawsData(Int_t, Option_t*)                                 {return -1;}
152   virtual Int_t  ResetRecPointsData(Int_t, Option_t*)                            {return -1;}
153   virtual Int_t  ResetESDsData(Int_t, Option_t*)                                 {return -1;}
154   //
155   virtual Int_t  ResetStatsHitsData(Int_t index)                      {return ResetStatsData(fHitsQAList, index);}
156   virtual Int_t  ResetStatsSDigitsData(Int_t index)                   {return ResetStatsData(fSDigitsQAList, index);}
157   virtual Int_t  ResetStatsDigitsData(Int_t index)                    {return ResetStatsData(fDigitsQAList, index);}
158   virtual Int_t  ResetStatsRawsData(Int_t)                            {return -1;}
159   virtual Int_t  ResetStatsRecPointsData(Int_t)                       {return -1;}
160   virtual Int_t  ResetStatsESDsData(Int_t)                            {return -1;}
161   //
162   virtual void ClonePerTrigClass(AliQAv1::TASKINDEX_t task);  
163   //
164  protected: 
165   //
166   virtual void   InitDigits()                     {AliInfo("To be implemented by detectors");}
167   virtual void   InitESDs()                       {AliWarning("Call not valid") ; } 
168   virtual void   InitHits()                       {AliInfo("To be implemented by detectors");}
169   virtual void   InitSDigits()                    {AliInfo("To be implemented by detectors");}
170   virtual void   MakeESDs(AliESDEvent * )         {AliWarning("Call not valid") ; }
171   virtual void   MakeHits()                       {AliInfo("To be implemented by detectors");} 
172   virtual void   MakeHits(TTree * )               {AliInfo("To be implemented by detectors");} 
173   virtual void   MakeDigits()                     {AliInfo("To be implemented by detectors");} 
174   virtual void   MakeDigits(TTree * )             {AliInfo("To be implemented by detectors");} 
175   virtual void   MakeRaws(AliRawReader *)         {AliWarning("Call not valid") ; } 
176   virtual void   MakeRecPoints(TTree * )          {AliWarning("Call not valid") ; } 
177   virtual void   MakeSDigits()                    {AliInfo("To be implemented by detectors");} 
178   virtual void   MakeSDigits(TTree * )            {AliInfo("To be implemented by detectors");} 
179   virtual void   StartOfDetectorCycle()           {AliInfo("To be implemented by detectors");} 
180   
181   TObjArray * *    fDigitsQAList ;     //! list of the digits QA data objects
182   TObjArray * *    fHitsQAList ;       //! list of the hits QA data objects
183   TObjArray * *    fSDigitsQAList ;    //! list of the sdigits QA data objects
184   TClonesArray *   fHitsArray ;       //! array to hold the hits
185   TClonesArray *   fSDigitsArray ;     //! array to hold the digits
186
187           
188  ClassDef(AliQADataMakerSim,2)  // description 
189
190 };
191
192 #endif // AliQADataMakerSim_H
193