* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
+
+/* $Id$ */
#include "AliMUONDspHeader.h"
#include "AliMUONBusStruct.h"
+#include <Riostream.h>
-
-///
+//-----------------------------------------------------------------------------
+/// \class AliMUONDspHeader
/// DSP structure for tracker raw data.
/// Each block contains at most 5 Dsp structures.
/// Beside the total length and length of the below data
/// the header of the Dsp contains the front end DSP id, trigger words
/// and event word (1 for nb of word is odd and 0 if not
///
+/// \author Christian Finck
+//-----------------------------------------------------------------------------
+/// \cond CLASSIMP
ClassImp(AliMUONDspHeader)
+/// \endcond
- const Int_t AliMUONDspHeader::fgkHeaderLength = 8;
+ const Int_t AliMUONDspHeader::fgkHeaderLength = 10;
+ const UInt_t AliMUONDspHeader::fgkDefaultDataKey = 0xF000000F;
+ const UInt_t AliMUONDspHeader::fgkDefaultPaddingWord = 0xBEEFFACE;
//___________________________________________
AliMUONDspHeader::AliMUONDspHeader()
: TObject(),
+ fDataKey(0),
fTotalLength(0),
fLength(0),
fDspId(0),
- fEventWord(0)
+ fBlkL1ATrigger(0),
+ fMiniEventId(0),
+ fL1ATrigger(0),
+ fL1RTrigger(0),
+ fPaddingWord(0),
+ fErrorWord(0),
+ fBusPatchArray(new TClonesArray("AliMUONBusStruct",5))
{
- //
- //ctor
- //
- for (Int_t i = 0; i < 4; i++)
- fTriggerWord[i] = 0;
-
- fBusPatchArray = new TClonesArray("AliMUONBusStruct",5);
+ ///
+ ///ctor
+ ///
}
//___________________________________________
AliMUONDspHeader::~AliMUONDspHeader()
{
- //
- // dtr
- //
+ ///
+ /// dtr
+ ///
fBusPatchArray->Delete();
delete fBusPatchArray;
}
//___________________________________________
AliMUONDspHeader::AliMUONDspHeader(const AliMUONDspHeader& event)
- : TObject(event)
+ : TObject(event),
+ fDataKey(event.fDataKey),
+ fTotalLength(event.fTotalLength),
+ fLength(event.fLength),
+ fDspId(event.fDspId),
+ fBlkL1ATrigger(event.fBlkL1ATrigger),
+ fMiniEventId(event.fMiniEventId),
+ fL1ATrigger(event.fL1ATrigger),
+ fL1RTrigger(event.fL1RTrigger),
+ fPaddingWord(event.fPaddingWord),
+ fErrorWord(event.fErrorWord),
+ fBusPatchArray(new TClonesArray("AliMUONBusStruct", 5))
{
- //
- // copy constructor
- //
- fTotalLength = event.fTotalLength;
- fLength = event.fLength;
- fDspId = event.fDspId;
- fEventWord = event.fEventWord;
+ ///
+ /// copy constructor
+ ///
- //ctor
- for (Int_t i = 0; i < 4; i++)
- fTriggerWord[i] = event.fTriggerWord[i];
-
- fBusPatchArray = new TClonesArray("AliMUONBusStruct", 5);
for (Int_t index = 0; index < (event.fBusPatchArray)->GetEntriesFast(); index++) {
{new ((*fBusPatchArray)[fBusPatchArray->GetEntriesFast()])
AliMUONBusStruct(*(AliMUONBusStruct*)(event.fBusPatchArray)->At(index));}
//___________________________________________
AliMUONDspHeader& AliMUONDspHeader::operator=(const AliMUONDspHeader& event)
{
- //
- // assignemnt constructor
- //
+ ///
+ /// assignemnt constructor
+ ///
if (this == &event) return *this;
- fTotalLength = event.fTotalLength;
- fLength = event.fLength;
- fDspId = event.fDspId;
- fEventWord = event.fEventWord;
+ fDataKey = event.fDataKey;
+ fTotalLength = event.fTotalLength;
+ fLength = event.fLength;
+ fDspId = event.fDspId;
+ fBlkL1ATrigger = event.fBlkL1ATrigger;
+ fMiniEventId = event.fMiniEventId;
+ fL1ATrigger = event.fL1ATrigger;
+ fL1RTrigger = event.fL1RTrigger;
+ fPaddingWord = event.fPaddingWord;
+ fErrorWord = event.fErrorWord;
- //ctor
- for (Int_t i = 0; i < 4; i++)
- fTriggerWord[i] = event.fTriggerWord[i];
fBusPatchArray = new TClonesArray("AliMUONBusStruct", 5);
for (Int_t index = 0; index < (event.fBusPatchArray)->GetEntriesFast(); index++) {
//___________________________________________
void AliMUONDspHeader::AddBusPatch(const AliMUONBusStruct& busPatch)
{
- //
- // adding buspatch info
- // into TClonesArray
- //
+ ///
+ /// adding buspatch info
+ /// into TClonesArray
+ ///
TClonesArray &eventArray = *fBusPatchArray;
new(eventArray[eventArray.GetEntriesFast()]) AliMUONBusStruct(busPatch);
}
//___________________________________________
void AliMUONDspHeader::Clear(Option_t* )
{
- // Clear TClones arrays
- // instead of deleting
- //
+ /// Clear TClones arrays
+ /// instead of deleting
+ ///
fBusPatchArray->Clear("C");
}
+
+//___________________________________________
+void AliMUONDspHeader::Print(Option_t* /*opt*/) const
+{
+ /// print out
+
+ cout << "FRT info" << endl;
+ cout << "DataKey: " << fDataKey << endl;
+ cout << "TotalLength: " << fTotalLength << endl;
+ cout << "Length : " << fLength << endl;
+ cout << "DspId: " << fDspId << endl;
+ cout << "BlkL1ATrigger: " << fBlkL1ATrigger << endl;
+ cout << "MiniEventId: " << fMiniEventId << endl;
+ cout << "L1ATrigger: " << fL1ATrigger << endl;
+ cout << "L1RTrigger: " << fL1RTrigger << endl;
+ cout << "PaddingWord: " << fPaddingWord << endl;
+ cout << "ErrorWord: " << fErrorWord << endl;
+
+}