#ifndef ALIITSQASSDCHECKER_H
#define ALIITSQASSDCHECKER_H
class TFile ;
class TH2F ;
class TCanvas;
#include "AliQAv1.h"
#include "AliQAChecker.h"
#include "AliQACheckerBase.h"
class AliITSLoader ;
class AliITSQASSDChecker: public TObject {
public:
AliITSQASSDChecker():fSubDetOffset(0),fStepBitSSD(NULL),fLowSSDValue(NULL),fHighSSDValue(NULL), fImage(NULL) {;}
AliITSQASSDChecker& operator = (const AliITSQASSDChecker& qac) ;
virtual ~AliITSQASSDChecker() {if(fStepBitSSD) delete[] fStepBitSSD ;if(fLowSSDValue)delete[]fLowSSDValue;if(fHighSSDValue) delete[]fHighSSDValue; }
virtual Double_t Check(AliQAv1::ALITASK_t , const TObjArray * list, const AliDetectorRecoParam * recoParam);
void SetStepBit(const Double_t *steprange);
Double_t *GetStepBit() const {return fStepBitSSD;};
void CheckRaws(TH1* histo);
void CheckRecPoints(TH1 * ) const {return;}
void SetTaskOffset(Int_t TaskOffset);
void SetSSDLimits(const Float_t *lowvalue, const Float_t * highvalue);
virtual Bool_t MakeSSDImage( TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode) ;
Bool_t MakeSSDRawsImage(TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode );
private:
AliITSQASSDChecker(const AliITSQASSDChecker& qac):TObject(),fSubDetOffset(qac.fSubDetOffset),fStepBitSSD(qac.fStepBitSSD),fLowSSDValue(qac.fLowSSDValue),fHighSSDValue(qac.fHighSSDValue), fImage(qac.fImage) {;}
Int_t fSubDetOffset;
Double_t *fStepBitSSD;
Float_t *fLowSSDValue;
Float_t *fHighSSDValue;
TCanvas ** fImage ;
ClassDef(AliITSQASSDChecker,3)
};
#endif // AliITSQASSDChecker_H