]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RAW/AliAltroRawStreamV3.h
Bug fix: AliHLTComponent::ConfigureFromArgumentString
[u/mrichter/AliRoot.git] / RAW / AliAltroRawStreamV3.h
index b75e7c52e3c7c5138a3b6137407a8eddcd3f5e95..16f14b25d1e16a12727b200aeade5feee49fa16f 100644 (file)
@@ -48,6 +48,10 @@ class AliAltroRawStreamV3: public TObject {
     const UShort_t* GetSignals() const { return fBunchDataPointer; }  // Provide access to altro data itself
     Bool_t IsChannelBad()      const { return fBadChannel; }   // Is the channel data bad or not
 
+    Int_t GetChannelPayloadSize() const { return fChannelPayloadSize; }
+    const UChar_t *GetChannelPayload() const;//returns raw channel data, length 4+(fChannelPayloadSize+2)/3*4
+    UChar_t *GetRCUPayloadInSOD() const;
+    Int_t GetRCUPayloadSizeInSOD() const;
 
     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
@@ -86,11 +90,15 @@ class AliAltroRawStreamV3: public TObject {
     Double_t GetTSample() const;
     Double_t GetL1Phase() const;
     void     PrintRCUTrailer() const;
+    Bool_t   IsOldStream() const { return fOldStream != 0; }
+    UChar_t  GetFormatVersion() const { return fFormatVersion; }
  
     void  SetShortDataHeader(Bool_t flag) { fIsShortDataHeader = flag; } // Specify whenever to assume or not a short CDH format
 
     void  SetCheckAltroPayload(Bool_t check) { fCheckAltroPayload = check; }
 
+    void HexDumpChannel() const;
+
     enum EAltroRawStreamV3Error {
       kRCUTrailerErr = 1,
       kRCUVerErr = 2,
@@ -122,6 +130,7 @@ class AliAltroRawStreamV3: public TObject {
 
     UChar_t*         fData;         // raw data
 
+    Int_t            fChannelStartPos; // start index of the current channel
     Int_t            fPosition;     // current position (32-bit words) in fData
     Int_t            fCount;        // 
     Int_t            fStartTimeBin; //
@@ -130,6 +139,8 @@ class AliAltroRawStreamV3: public TObject {
     Bool_t           fBadChannel;   //
     Int_t            fPayloadSize;  //
 
+    Int_t            fChannelPayloadSize; //
+
     UShort_t         fBunchData[kMaxNTimeBins];    // cache for the decoded altro payload
     UShort_t*        fBunchDataPointer;            // pointer to the current bunch samples
     Int_t            fBunchDataIndex;              // current position in the payload
@@ -150,6 +161,7 @@ class AliAltroRawStreamV3: public TObject {
     AliAltroRawStream* fOldStream;  // streamer for old altro format
 
     Bool_t           fCheckAltroPayload; // check altro payload correctness or not?
+    UChar_t          fFormatVersion;
 
     ClassDef(AliAltroRawStreamV3, 0)  // base class for reading Altro raw digits
 };