* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id $ */
+/* $Id$ */
//-----------------------------------------------------------------------------
/// \class AliMUONRawStreamTrigger
const Int_t AliMUONRawStreamTrigger::fgkMaxDDL = 2;
+//___________________________________________
+AliMUONRawStreamTrigger::AliMUONRawStreamTrigger(TRootIOCtor* /*dummy*/)
+: AliMUONVRawStreamTrigger(),
+fPayload(0x0),
+fCurrentDDL(0x0),
+fCurrentDDLIndex(fgkMaxDDL),
+fCurrentDarcHeader(0x0),
+fCurrentRegHeader(0x0),
+fCurrentRegHeaderIndex(0),
+fCurrentLocalStruct(0x0),
+fCurrentLocalStructIndex(0),
+fLocalStructRead(kFALSE),
+fDDL(0),
+fNextDDL(kFALSE)
+{
+ ///
+ /// create an object to read MUON raw digits
+ /// Default ctor with no mem allocation for I/O
+ ///
+}
+
//___________________________________________
AliMUONRawStreamTrigger::AliMUONRawStreamTrigger()
-: AliMUONRawStream(),
+: AliMUONVRawStreamTrigger(),
fPayload(new AliMUONPayloadTrigger()),
fCurrentDDL(0x0),
fCurrentDDLIndex(fgkMaxDDL),
fCurrentLocalStructIndex(0),
fLocalStructRead(kFALSE),
fDDL(0),
- fNextDDL(kFALSE),
- fEnableErrorLogger(kFALSE)
+ fNextDDL(kFALSE)
{
///
/// create an object to read MUON raw digits
//_________________________________________________________________
AliMUONRawStreamTrigger::AliMUONRawStreamTrigger(AliRawReader* rawReader)
- : AliMUONRawStream(rawReader),
+ : AliMUONVRawStreamTrigger(rawReader),
fPayload(new AliMUONPayloadTrigger()),
fCurrentDDL(0x0),
fCurrentDDLIndex(fgkMaxDDL),
fCurrentLocalStructIndex(0),
fLocalStructRead(kFALSE),
fDDL(0),
- fNextDDL(kFALSE),
- fEnableErrorLogger(kFALSE)
+ fNextDDL(kFALSE)
{
///
/// ctor with AliRawReader as argument
/// Returns the next DDL present
assert( GetReader() != 0 );
+
Bool_t kFound(kFALSE);
Int_t totalDataWord = GetReader()->GetDataSize(); // in bytes
+ Bool_t scalerEvent = GetReader()->GetDataHeader()->GetL1TriggerMessage() & 0x1;
+
AliDebug(3, Form("DDL Number %d totalDataWord %d\n", fCurrentDDLIndex,
totalDataWord));
UInt_t *buffer = new UInt_t[totalDataWord/4];
-
+
if ( !GetReader()->ReadNext((UChar_t*)buffer, totalDataWord) )
{
// We have not actually been able to complete the loading of the new DDL so
fPayload->ResetDDL();
- Bool_t ok = fPayload->Decode(buffer);
+
+
+ Bool_t ok = fPayload->Decode(buffer, scalerEvent);
delete[] buffer;
Int_t totalDataWord = GetReader()->GetDataSize(); // in bytes
+ Bool_t scalerEvent = GetReader()->GetDataHeader() && GetReader()->GetDataHeader()->GetL1TriggerMessage() & 0x1;
+
+
UInt_t *buffer = new UInt_t[totalDataWord/4];
// check not necessary yet, but for future developments
Swap(buffer, totalDataWord / sizeof(UInt_t)); // swap needed for mac power pc
#endif
- fPayload->Decode(buffer);
+ fPayload->Decode(buffer, scalerEvent);
fDDL++;
{
/// add message into logger of AliRawReader per event
- TString msg = 0;
+ TString msg;
Int_t occurance = 0;
AliMUONLogger* log = fPayload->GetErrorLogger();