X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=RAW%2FAliRawReaderDate.h;h=060929ddc274106488eb840ec44e0927c6b7e78f;hb=0396b3c6a688e274ce8f8fac94af73e01134f292;hp=57932d6f84105d32ad682776c12d6e62020cdec2;hpb=16048fcf22dfc586227653dd56176ce27bf636e1;p=u%2Fmrichter%2FAliRoot.git diff --git a/RAW/AliRawReaderDate.h b/RAW/AliRawReaderDate.h index 57932d6f841..060929ddc27 100644 --- a/RAW/AliRawReaderDate.h +++ b/RAW/AliRawReaderDate.h @@ -3,17 +3,25 @@ /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ +/* $Id$ */ + +/////////////////////////////////////////////////////////////////////////////// +/// +/// This is a class for reading raw data from a date file or event. +/// +/////////////////////////////////////////////////////////////////////////////// + #include "AliRawReader.h" struct eventHeaderStruct; +struct equipmentHeaderStruct; class AliRawReaderDate: public AliRawReader { public : - AliRawReaderDate(void* event); - AliRawReaderDate(const AliRawReaderDate& rawReader); - AliRawReaderDate& operator = (const AliRawReaderDate& rawReader); - virtual ~AliRawReaderDate() {}; + AliRawReaderDate(void* event, Bool_t owner = kFALSE); + AliRawReaderDate(const char* fileName, Int_t eventNumber = -1); + virtual ~AliRawReaderDate(); virtual UInt_t GetType() const; virtual UInt_t GetRunNumber() const; @@ -21,21 +29,45 @@ class AliRawReaderDate: public AliRawReader { virtual const UInt_t* GetTriggerPattern() const; virtual const UInt_t* GetDetectorPattern() const; virtual const UInt_t* GetAttributes() const; + virtual const UInt_t* GetSubEventAttributes() const; + virtual UInt_t GetLDCId() const; virtual UInt_t GetGDCId() const; + virtual UInt_t GetTimestamp() const; - virtual Bool_t ReadMiniHeader(); + virtual Int_t GetEquipmentSize() const; + virtual Int_t GetEquipmentType() const; + virtual Int_t GetEquipmentId() const; + virtual const UInt_t* GetEquipmentAttributes() const; + virtual Int_t GetEquipmentElementSize() const; + virtual Int_t GetEquipmentHeaderSize() const; + + virtual Bool_t ReadHeader(); virtual Bool_t ReadNextData(UChar_t*& data); + virtual Bool_t ReadNext(UChar_t* data, Int_t size); virtual Bool_t Reset(); - protected : - virtual Bool_t ReadNext(UChar_t* data, Int_t size); + virtual Bool_t NextEvent(); + virtual Bool_t RewindEvents(); + virtual Int_t CheckData() const; + + virtual AliRawReader* CloneSingleEvent() const; + + protected : + FILE* fFile; // DATE file eventHeaderStruct* fEvent; // raw data super event eventHeaderStruct* fSubEvent; // raw data sub event + equipmentHeaderStruct* fEquipment; // raw data equipment header UChar_t* fPosition; // current position in the raw data - UChar_t* fEnd; // end position of the current subevent + UChar_t* fEnd; // end position of the current data block + + Bool_t fOwner; // is raw-reader owner of the raw event or not + + private: + AliRawReaderDate(const AliRawReaderDate& rawReader); + AliRawReaderDate& operator = (const AliRawReaderDate& rawReader); ClassDef(AliRawReaderDate, 0) // class for reading raw digits from a root file };