]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RAW/AliAltroRawStream.h
un comment the check for the need of ushort
[u/mrichter/AliRoot.git] / RAW / AliAltroRawStream.h
index 08b03c2ec54faf142eb804ce6aa2a3a72de96050..3bdea7d2f9963afdc8b4dea06e520bd57fc582f8 100644 (file)
@@ -42,18 +42,38 @@ class AliAltroRawStream: public TObject {
     Int_t GetSignal()     const { return fSignal; }     // Provide signal in ADC counts
     Int_t GetTimeLength() const { return fTimeBunch; }  // Provide total length of current time bunch
 
+    Int_t GetBranch()     const; // Provide the branch index for the current hardware address
+    Int_t GetFEC()        const; // Provide the front-end card index for the current hardware address
+    Int_t GetAltro()      const; // Provide the altro chip index for the current hardware address
+    Int_t GetChannel()    const; // Provide the channel index for the current hardware address
+
     Bool_t  GetRCUTrailerData(UChar_t*& data) const;              // Provide a pointer to RCU trailer
     Int_t   GetRCUTrailerSize() const { return fRCUTrailerSize; } // Provide size of RCU trailer
 
     void SelectRawData(Int_t detId);                           // Select raw data for specific detector id
+    void SelectRawData(const char *detName);                   // Select raw data for specific detector name
 
     void  SetNoAltroMapping(Bool_t flag) { fNoAltroMapping = flag; }  // Specify whenever to use or not the altro mapping
     void  SetOldRCUFormat(Bool_t flag)   { fIsOldRCUFormat = flag; }  // Specify whenever to use or not the old RCU trailer format
     void  SetShortDataHeader(Bool_t flag) { fIsShortDataHeader = flag; } // Specify whenever to assume or not a short CDH format
 
-  protected:
-    AliAltroRawStream(const AliAltroRawStream& stream);
+    void PrintDebug() const; // Print debug information in case of decoding errors
+    void AddMappingErrorLog(const char *message = NULL);
+
+    enum EAltroRawStreamError {
+      kRCUTrailerSizeErr = 1,
+      kAltroTrailerErr = 2,
+      kBunchLengthReadErr = 3,
+      kTimeBinReadErr = 4,
+      kAmplitudeReadErr = 5,
+      k32bitWordReadErr = 6,
+      kBadAltroMapping = 7
+    };
+
     AliAltroRawStream& operator = (const AliAltroRawStream& stream);
+    AliAltroRawStream(const AliAltroRawStream& stream);
+
+  protected:
 
     Bool_t           fNoAltroMapping;  // temporary flag in case of no altro mapping is provided
     Short_t          fSegmentation[3]; // temporary container for the dummy trailer, to be removed