#ifndef ALIITSONLINESPDSCAN_H
#define ALIITSONLINESPDSCAN_H
#include <TString.h>
class TFile;
class AliITSOnlineSPDscanInfo;
class AliITSOnlineSPDHitArray;
class AliITSOnlineSPDHitEvent;
class AliITSOnlineSPDscan {
public:
AliITSOnlineSPDscan():fFile(NULL),fWrite(kFALSE),fCurrentStep(-1),fModified(kFALSE),fInfoModified(kFALSE),fScanInfo(NULL),fFileName("./test.root"){for(Int_t ihs=0; ihs<6; ihs++){fCurrentHitArray[ihs]=0x0; fCurrentHitEvent[ihs]=0x0;}}
AliITSOnlineSPDscan(const Char_t *fileName, Bool_t readFromGridFile=kFALSE);
AliITSOnlineSPDscan(const AliITSOnlineSPDscan& scan);
virtual ~AliITSOnlineSPDscan();
AliITSOnlineSPDscan& operator=(const AliITSOnlineSPDscan& scan);
virtual UInt_t AddScanStep();
virtual void ClearThis();
void SetType(UInt_t val);
void SetRunNr(UInt_t val);
void SetRouterNr(UInt_t val);
void SetHalfStaveScanned(UInt_t val, Bool_t b);
void SetDataFormat(UInt_t val);
void SetTriggers(UInt_t nsi, UInt_t val);
void SetChipPresent(UInt_t hs, UInt_t chipi, Bool_t val);
void SetRowStart(UInt_t val);
void SetRowEnd(UInt_t val);
void SetDacStart(UInt_t val);
void SetDacEnd(UInt_t val);
void SetDacStep(UInt_t val);
void SetDCSVersion(UInt_t val);
void SetHits(UInt_t nsi, UInt_t hs, UInt_t chipi, UInt_t coli, UInt_t rowi, UInt_t val);
void IncrementTriggers(UInt_t nsi);
void IncrementHits(UInt_t nsi, UInt_t hs, UInt_t chipi, UInt_t coli, UInt_t rowi);
void SetHitEvents(UInt_t nsi, UInt_t hs, UInt_t chipi, Int_t val);
void SetHitEventsTot(UInt_t nsi, UInt_t hs, Int_t val);
void IncrementHitEvents(UInt_t nsi, UInt_t hs, UInt_t chipi);
void IncrementHitEventsTot(UInt_t nsi, UInt_t hs);
UInt_t GetNSteps() const;
UInt_t GetType() const;
UInt_t GetRunNr() const;
UInt_t GetRouterNr() const;
Bool_t GetHalfStaveScanned(UInt_t val) const;
UInt_t GetDataFormat() const;
UInt_t GetTriggers(UInt_t nsi) const;
Bool_t GetChipPresent(UInt_t hs, UInt_t chipi) const;
UInt_t GetRowStart() const;
UInt_t GetRowEnd() const;
UInt_t GetDacStart() const;
UInt_t GetDacEnd() const;
UInt_t GetDacStep() const;
UInt_t GetDCSVersion() const;
UInt_t GetHits(UInt_t nsi, UInt_t hs, UInt_t chipi, UInt_t coli, UInt_t rowi) ;
Float_t GetHitsEfficiency(UInt_t nsi, UInt_t hs, UInt_t chipi, UInt_t coli, UInt_t rowi) ;
Float_t GetHitsEfficiencyError(UInt_t nsi, UInt_t hs, UInt_t chipi, UInt_t coli, UInt_t rowi);
UInt_t GetHitEvents(UInt_t nsi, UInt_t hs, UInt_t chipi) ;
UInt_t GetHitEventsTot(UInt_t nsi, UInt_t hs) ;
Float_t GetHitEventsEfficiency(UInt_t nsi, UInt_t hs, UInt_t chipi) ;
Float_t GetHitEventsTotEfficiency(UInt_t nsi, UInt_t hs) ;
Float_t GetHitEventsEfficiencyError(UInt_t nsi, UInt_t hs, UInt_t chipi) ;
Float_t GetHitEventsTotEfficiencyError(UInt_t nsi, UInt_t hs) ;
Float_t GetAverageMultiplicity(UInt_t nsi, UInt_t hs, UInt_t chipi) ;
Float_t GetAverageMultiplicityTot(UInt_t nsi, UInt_t hs) ;
protected:
TFile *fFile;
Bool_t fWrite;
Int_t fCurrentStep;
Bool_t fModified;
Bool_t fInfoModified;
AliITSOnlineSPDscanInfo *fScanInfo;
AliITSOnlineSPDHitArray *fCurrentHitArray[6];
AliITSOnlineSPDHitEvent *fCurrentHitEvent[6];
TString fFileName;
void Init();
void CreateNewStep();
void SwitchToStep(UInt_t nsi) ;
void FillGap(UInt_t nsi);
void ReadCurrentStep();
void SaveCurrentStep();
};
#endif
AliITSOnlineSPDscan.h:100 AliITSOnlineSPDscan.h:101 AliITSOnlineSPDscan.h:102 AliITSOnlineSPDscan.h:103