]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/AliZDCRawStream.h
Bugs in CheckConsistency, more warnings (with PLamen)
[u/mrichter/AliRoot.git] / ZDC / AliZDCRawStream.h
index c8c8590b25285df73413c6db94fb9f1c05f50bc9..d75f7fb2c92b3a5f7bd46aaf1fa66630ef0ee826 100644 (file)
@@ -30,7 +30,6 @@ class AliZDCRawStream: public TObject {
     virtual void ReadChMap();
 
     virtual void ReadCDHHeader();
-    virtual void DecodeScaler();
 
     UInt_t GetRawBuffer()      const {return fBuffer;}
     
@@ -50,24 +49,30 @@ class AliZDCRawStream: public TObject {
     AliCDBStorage *SetStorage(const char* uri);
     AliZDCChMap   *GetChMap() const;
     
+    Int_t  GetNChannelsOn()           const {return fNChannelsOn;}
     Int_t  GetCabledSignal()           const {return fCabledSignal;}
     Int_t  GetADCModFromMap(Int_t i)   const {return fMapADC[i][0];}
     Int_t  GetADCChFromMap(Int_t i)    const {return fMapADC[i][1];}
     Int_t  GetADCSignFromMap(Int_t i)  const {return fMapADC[i][2];}
     Int_t  GetDetectorFromMap(Int_t i) const {return fMapADC[i][3];}
     Int_t  GetTowerFromMap(Int_t i)    const {return fMapADC[i][4];}
-
+    
+    Bool_t IsCalibration() const {return fIsCalib;}
     Bool_t IsDARCHeader()  const {return fIsDARCHeader;}
     Bool_t IsChMapping()   const {return fIsChMapping;}
     Bool_t IsADCDataWord() const {return fIsADCDataWord;}
     Bool_t IsADCHeader()   const {return fIsADCHeader;}
     Bool_t IsADCEOB()     const {return fIsADCEOB;}
+    Bool_t IsUnderflow()   const {return fIsUnderflow;}
+    Bool_t IsOverflow()    const {return fIsOverflow;}
     
-    UInt_t GetScNWords() const {return fScNWords;}         
     UInt_t GetScGeo() const {return fScGeo;}       
-    UInt_t GetScTS() const {return fScTS;}         
+    UInt_t GetScNWords() const {return fScNWords;}         
+    UInt_t GetScTriggerSource() const {return fScTriggerSource;}           
     UInt_t GetTriggerNumber() const {return fScTriggerNumber;}
-
+    UInt_t GetTriggerCount() const {return fScEvCounter;}
+    
+    void SetNChannelsOn(Int_t val) {fNChannelsOn = val;}
     void SetSector(Int_t i, Int_t val) {fSector[i] = val;}
     void SetMapADCMod(Int_t iraw, Int_t imod) {fMapADC[iraw][0]=imod;}
     void SetMapADCCh(Int_t iraw, Int_t ich)   {fMapADC[iraw][1]=ich;}
@@ -77,13 +82,18 @@ class AliZDCRawStream: public TObject {
     
     void SetSODReading(Bool_t iset) {fSODReading = iset;}
     
+    // Error codes in raw data streaming
     enum EZDCRawStreamError{
        kCDHError = 1,
        kDARCError = 2,
        kZDCDataError = 3,
        kInvalidADCModule = 4,
        kInvalidSector = 5};
-
+    
+    // Signal codes for ZDC 
+    // Same codes used in DAQ configuration file
+    // To be changed ONLY IF this file is changed!!! 
+    // **** DO NOT CHANGE THE FOLLOWING LINES!!! ****
     enum ZDCSignal{kNotConnected=0, kVoid=1,
         kZNAC=2, kZNA1=3, kZNA2=4, kZNA3=5, kZNA4=6,
         kZPAC=7, kZPA1=8, kZPA2=9, kZPA3=10, kZPA4=11,
@@ -103,11 +113,13 @@ class AliZDCRawStream: public TObject {
     AliZDCRawStream& operator = (const AliZDCRawStream& stream);
 
     AliRawReader* fRawReader;    // object for reading the raw data
-
+    
+    // Data for buffer decoding
     UInt_t fBuffer;          // DARC header + ADC buffer
     UInt_t fEvType;          // Event type
     Int_t  fPosition;        // bit position in buffer data word
     
+    // Boolean variables indicating data type
     Bool_t fIsCalib;         // True when calibration run
     Bool_t fIsDARCHeader;     // True when DARC header
     Bool_t fIsChMapping;      // True when reading ch. mapping
@@ -133,20 +145,26 @@ class AliZDCRawStream: public TObject {
     Int_t  fADCChannel;   // ADC channel
     Int_t  fADCValue;    // ADC channel
     Int_t  fADCGain;     // ADC gain (0=high range; 1=low range)
+    Bool_t fIsUnderflow;  // ADC underflow
+    Bool_t fIsOverflow;   // ADC overflow
     
     // Scaler
-    UInt_t fScNWords;        // no. of words in scaler event
     UInt_t fScGeo;           // scaler GEO address
-    UInt_t fScTS;           // ?!?
+    UInt_t fScNWords;        // no. of words in scaler event
+    UInt_t fScTriggerSource; // Trigger source 
     UInt_t fScTriggerNumber; // no. of triggers
-    Bool_t fIsScEventGood;   // true if scaler event is good
+    UInt_t fIsScEventGood;   // true if scaler event is good
+    UInt_t fIsScHeaderRead;  // true if scaler event is good
+    Int_t  fScStartCounter;  // position in the buffer where scaler data begins
+    UInt_t fScEvCounter;     // event counter
     
     // Channel mapping 
+    Int_t  fNChannelsOn;   // No. of signals/ADC ch. used
     Int_t  fNConnCh;       // current mapped ch.
     Int_t  fCabledSignal;  // physics signal (from enum)
     Int_t  fMapADC[48][5]; // ADC map for the current run
         
-    ClassDef(AliZDCRawStream, 7)    // class for reading ZDC raw digits
+    ClassDef(AliZDCRawStream, 10)    // class for reading ZDC raw digits
 };
 
 #endif