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
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,
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; //
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
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
};