LCOV - code coverage report
Current view: top level - ITS/ITSrec - AliITSOnlineSPDscan.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 1 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 2 0.0 %

          Line data    Source code
       1             : #ifndef ALIITSONLINESPDSCAN_H
       2             : #define ALIITSONLINESPDSCAN_H
       3             : 
       4             : ////////////////////////////////////////////////////////////
       5             : // Author: Henrik Tydesjo                                 //
       6             : // Interface class to the containers of an online scan.   //
       7             : // Directly connected to a TFile with all containers.     //
       8             : // Handles reading and writing of this TFile.             //
       9             : // Hitmaps and information on nr of events with hits      //
      10             : // is stored in this file (AliITSOnlineSPDHitArray and    //
      11             : // AliITSOnlineSPDHitEvent). Also some general            //
      12             : // information is stored (AliITSOnlineSPDscanInfo).       //
      13             : ////////////////////////////////////////////////////////////
      14             : 
      15             : #include <TString.h>
      16             : 
      17             : class TFile;
      18             : class AliITSOnlineSPDscanInfo;
      19             : class AliITSOnlineSPDHitArray;
      20             : class AliITSOnlineSPDHitEvent;
      21             : 
      22             : class AliITSOnlineSPDscan {
      23             : 
      24             :  public:
      25           0 :   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;}}
      26             :   AliITSOnlineSPDscan(const Char_t *fileName, Bool_t readFromGridFile=kFALSE);
      27             :   AliITSOnlineSPDscan(const AliITSOnlineSPDscan& scan);
      28             :   virtual ~AliITSOnlineSPDscan();
      29             :   AliITSOnlineSPDscan& operator=(const AliITSOnlineSPDscan& scan);
      30             : 
      31             :   virtual UInt_t     AddScanStep(); // returns the index (nsi) of the added step
      32             :   virtual void       ClearThis();       // clear all steps
      33             :   // SET METHODS ***********************************
      34             :   void     SetType(UInt_t val);
      35             :   void     SetRunNr(UInt_t val);
      36             :   void     SetRouterNr(UInt_t val);
      37             :   void     SetHalfStaveScanned(UInt_t val, Bool_t b);
      38             :   void     SetDataFormat(UInt_t val);
      39             :   void     SetTriggers(UInt_t nsi, UInt_t val);
      40             :   void     SetChipPresent(UInt_t hs, UInt_t chipi, Bool_t val);
      41             :   void     SetRowStart(UInt_t val);
      42             :   void     SetRowEnd(UInt_t val);
      43             :   void     SetDacStart(UInt_t val);
      44             :   void     SetDacEnd(UInt_t val);
      45             :   void     SetDacStep(UInt_t val);
      46             :   void     SetDCSVersion(UInt_t val);
      47             : 
      48             :   void     SetHits(UInt_t nsi, UInt_t hs, UInt_t chipi, UInt_t coli, UInt_t rowi, UInt_t val);
      49             :   void     IncrementTriggers(UInt_t nsi);
      50             :   void     IncrementHits(UInt_t nsi, UInt_t hs, UInt_t chipi, UInt_t coli, UInt_t rowi);
      51             :   void     SetHitEvents(UInt_t nsi, UInt_t hs, UInt_t chipi, Int_t val);
      52             :   void     SetHitEventsTot(UInt_t nsi, UInt_t hs, Int_t val);
      53             :   void     IncrementHitEvents(UInt_t nsi, UInt_t hs, UInt_t chipi);
      54             :   void     IncrementHitEventsTot(UInt_t nsi, UInt_t hs);
      55             :   // GET METHODS ***********************************
      56             :   UInt_t   GetNSteps() const;
      57             :   UInt_t   GetType() const;
      58             :   UInt_t   GetRunNr() const;
      59             :   UInt_t   GetRouterNr() const;
      60             :   Bool_t   GetHalfStaveScanned(UInt_t val) const;
      61             :   UInt_t   GetDataFormat() const;
      62             :   UInt_t   GetTriggers(UInt_t nsi) const;
      63             :   Bool_t   GetChipPresent(UInt_t hs, UInt_t chipi) const;
      64             :   UInt_t   GetRowStart() const;
      65             :   UInt_t   GetRowEnd() const;
      66             :   UInt_t   GetDacStart() const;
      67             :   UInt_t   GetDacEnd() const;
      68             :   UInt_t   GetDacStep() const;
      69             :   UInt_t   GetDCSVersion() const;
      70             : 
      71             :   UInt_t   GetHits(UInt_t nsi, UInt_t hs, UInt_t chipi, UInt_t coli, UInt_t rowi) ;
      72             :   Float_t  GetHitsEfficiency(UInt_t nsi, UInt_t hs, UInt_t chipi, UInt_t coli, UInt_t rowi) ;
      73             :   Float_t  GetHitsEfficiencyError(UInt_t nsi, UInt_t hs, UInt_t chipi, UInt_t coli, UInt_t rowi);
      74             :   UInt_t   GetHitEvents(UInt_t nsi, UInt_t hs, UInt_t chipi) ;
      75             :   UInt_t   GetHitEventsTot(UInt_t nsi, UInt_t hs) ;
      76             :   Float_t  GetHitEventsEfficiency(UInt_t nsi, UInt_t hs, UInt_t chipi) ;
      77             :   Float_t  GetHitEventsTotEfficiency(UInt_t nsi, UInt_t hs) ;
      78             :   Float_t  GetHitEventsEfficiencyError(UInt_t nsi, UInt_t hs, UInt_t chipi) ;
      79             :   Float_t  GetHitEventsTotEfficiencyError(UInt_t nsi, UInt_t hs) ;
      80             :   Float_t  GetAverageMultiplicity(UInt_t nsi, UInt_t hs, UInt_t chipi) ;
      81             :   Float_t  GetAverageMultiplicityTot(UInt_t nsi, UInt_t hs) ;
      82             : 
      83             :  protected:
      84             :   TFile    *fFile;                  // file to read and write from
      85             :   Bool_t   fWrite;                  // is file opened for writing?
      86             :   Int_t    fCurrentStep;            // index of current step (kept in memory)
      87             :   Bool_t   fModified;               // is the current step modified (needs saving)?
      88             :   Bool_t   fInfoModified;           // is the overall scan information modified (needs saving)?
      89             :   AliITSOnlineSPDscanInfo *fScanInfo;           // overall scan information
      90             :   AliITSOnlineSPDHitArray *fCurrentHitArray[6]; // hit array, one for each halfstave
      91             :   AliITSOnlineSPDHitEvent *fCurrentHitEvent[6]; // hit events, one for each halfstave
      92             :   TString  fFileName;                           // filename of file to read write
      93             : 
      94             :   void     Init();
      95             :   void     CreateNewStep();
      96             :   void     SwitchToStep(UInt_t nsi) ;
      97             :   void     FillGap(UInt_t nsi);
      98             :   void     ReadCurrentStep();
      99             :   void     SaveCurrentStep();
     100             :   
     101             : };
     102             : 
     103             : #endif

Generated by: LCOV version 1.11