#include "AliMUONLogger.h"
#include "AliRawReader.h"
-#include "AliRawDataHeader.h"
#include "AliDAQ.h"
#include "AliLog.h"
#include "AliMUONPayloadTracker.h"
ClassImp(AliMUONRawStreamTracker)
/// \endcond
-const Int_t AliMUONRawStreamTracker::fgkMaxDDL = 20;
+//___________________________________________
+AliMUONRawStreamTracker::AliMUONRawStreamTracker(TRootIOCtor* /*dummy*/)
+: AliMUONVRawStreamTracker(),
+fPayload(0x0),
+fCurrentDDL(0),
+fCurrentDDLIndex(fgkMaxDDL),
+fCurrentBlockHeader(0),
+fCurrentBlockHeaderIndex(0),
+fCurrentDspHeader(0),
+fCurrentDspHeaderIndex(0),
+fCurrentBusStruct(0),
+fCurrentBusStructIndex(0),
+fCurrentDataIndex(0),
+fDDL(0)
+{
+ ///
+ /// create an object to read MUON raw digits
+ /// Default ctor with no memory allocation for I/O
+ ///
+}
//___________________________________________
AliMUONRawStreamTracker::AliMUONRawStreamTracker()
fCurrentBusStruct(0),
fCurrentBusStructIndex(0),
fCurrentDataIndex(0),
- fDDL(0),
- fChannelBuffer()
+ fDDL(0)
{
///
/// create an object to read MUON raw digits
fCurrentBusStruct(0),
fCurrentBusStructIndex(0),
fCurrentDataIndex(0),
- fDDL(0),
- fChannelBuffer()
+ fDDL(0)
{
///
/// ctor with AliRawReader as argument
return kTRUE;
}
-//______________________________________________________
-UInt_t AliMUONRawStreamTracker::Next(const AliChannelInfo*& channels)
-{
- /// This method actually just wraps around the single step Next() method
- /// for now and returns channels one at a time.
-
- Int_t busPatchId; UShort_t manuId; UChar_t manuChannel; UShort_t adc;
- Bool_t ok = Next(busPatchId, manuId, manuChannel, adc);
- if (ok)
- {
- fChannelBuffer = AliChannelInfo(busPatchId, manuId, manuChannel, adc);
- channels = &fChannelBuffer;
- return 1;
- }
- else
- {
- return 0;
- }
-}
-
//______________________________________________________
Bool_t
AliMUONRawStreamTracker::IsDone() const
fPayload->ResetDDL();
#ifndef R__BYTESWAP
- swap(buffer, totalDataWord); // swap needed for mac power pc
+ Swap(buffer, totalDataWord / sizeof(UInt_t)); // swap needed for mac power pc
#endif
Bool_t ok = fPayload->Decode(buffer, totalDataWord/4);
}
#ifndef R__BYTESWAP
- swap(buffer, totalDataWord); // swap needed for mac power pc
+ Swap(buffer, totalDataWord / sizeof(UInt_t)); // swap needed for mac power pc
#endif
Bool_t ok = fPayload->Decode(buffer, totalDataWord/4);
/// add message into logger of AliRawReader per event
assert( GetReader() != 0 );
- TString msg = 0;
+ TString msg;
Int_t occurance = 0;
AliMUONLogger* log = fPayload->GetErrorLogger();