]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSRawStreamSPD.h
In Open() and GotoEvent() try the ESD operations first, fallback to run-loader.
[u/mrichter/AliRoot.git] / ITS / AliITSRawStreamSPD.h
index 068dd86243d184cf17198c15fe6995512b1beaf7..ac5165588dcd62d0d2e11e517a41e9efb54ad822 100644 (file)
@@ -21,7 +21,7 @@ class AliITSRawStreamSPD: public AliITSRawStream {
     AliITSRawStreamSPD& operator=(const AliITSRawStreamSPD& rstream);
     virtual ~AliITSRawStreamSPD() {};
 
-    virtual Bool_t   Next();
+    virtual Bool_t  Next();
     virtual Int_t   ReadCalibHeader();
 
     // the 2 methods below are equivalent to AliITSRawStream::GetCoord1 and GetCoord2
@@ -54,6 +54,15 @@ class AliITSRawStreamSPD: public AliITSRawStream {
     static UInt_t GetOfflineColFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip, UInt_t col);
     static UInt_t GetOfflineRowFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip, UInt_t row);
 
+    Int_t   GetEventCounter() const {return fEventCounter;}    // get last read event counter value
+    Short_t GetEventCounterFullEq(UInt_t eq) const;
+    Short_t GetEventCounterFullHS(UInt_t eq, UInt_t hs) const;
+    Short_t GetEventCounterFullChip(UInt_t eq, UInt_t hs, UInt_t chip) const;
+    Bool_t  IsEventCounterFullConsistent() const;
+
+    Bool_t IsActiveEq(UInt_t eq) const;
+    Bool_t IsActiveHS(UInt_t eq, UInt_t hs) const;
+    Bool_t IsActiveChip(UInt_t eq, UInt_t hs, UInt_t chip) const;
 
     Bool_t GetHalfStavePresent(UInt_t hs);
 
@@ -98,7 +107,9 @@ class AliITSRawStreamSPD: public AliITSRawStream {
       kDDLNumberErr,
       kHSNumberErr,
       kChipAddrErr,
-      kCalHeaderLengthErr
+      kCalHeaderLengthErr,
+      kAdvEventCounterErr,     // used by SPDmood
+      kAdvEventCounterOrderErr // used by SPDmood
     };
 
   private :
@@ -110,6 +121,8 @@ class AliITSRawStreamSPD: public AliITSRawStream {
     void       CheckHeaderAndTrailerCount(Int_t ddlID);
 
     Int_t       fEventCounter;                // chip event counter
+    Short_t     fEventCounterFull[20][6][10]; // chip event counter
+
     UShort_t    fChipAddr;                    // chip nr
     UShort_t    fHalfStaveNr;                 // half stave nr
     UInt_t      fCol;                         // chip column nr
@@ -136,6 +149,10 @@ class AliITSRawStreamSPD: public AliITSRawStream {
     Bool_t      fAdvancedErrorLog;           // is the advanced error logging activated?
     AliITSRawStreamSPDErrorLog *fAdvLogger;  // pointer to special error logger object
 
+    Bool_t      fActiveEq[20];               // which equipments are active (found in data)
+    Bool_t      fActiveHS[20][6];            // which half-staves are active (blockattribute bits)
+    Bool_t      fActiveChip[20][6][10];      // which chips are active (found in data)
+
     ClassDef(AliITSRawStreamSPD, 0) // class for reading ITS SPD raw digits
 };