LCOV - code coverage report
Current view: top level - RAW/RAWDatarec - AliRawReaderMemory.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 19 5.3 %
Date: 2016-06-14 17:26:59 Functions: 1 23 4.3 %

          Line data    Source code
       1             : #ifndef ALIRAWREADERMEMORY_H
       2             : #define ALIRAWREADERMEMORY_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /* $Id$ */
       7             : 
       8             : ///////////////////////////////////////////////////////////////////////////////
       9             : ///
      10             : /// This is a class for reading raw data memory.
      11             : ///
      12             : ///////////////////////////////////////////////////////////////////////////////
      13             : 
      14             : #include "AliRawReader.h"
      15             : #include <vector>
      16             : 
      17             : using std::vector;
      18             : 
      19             : class AliRawReaderMemory: public AliRawReader {
      20             :   public :
      21             :     AliRawReaderMemory();
      22             :     AliRawReaderMemory(UChar_t* memory, UInt_t size);
      23             :     virtual ~AliRawReaderMemory();
      24             : 
      25             :     virtual void     RequireHeader(Bool_t required);
      26             : 
      27           0 :     virtual UInt_t   GetType() const {return 0;};
      28           0 :     virtual UInt_t   GetRunNumber() const {return 0;};
      29           0 :     virtual const UInt_t* GetEventId() const {return 0;};
      30           0 :     virtual const UInt_t* GetTriggerPattern() const {return 0;};
      31           0 :     virtual const UInt_t* GetDetectorPattern() const {return 0;};
      32           0 :     virtual const UInt_t* GetAttributes() const {return 0;};
      33           0 :     virtual const UInt_t* GetSubEventAttributes() const {return 0;};
      34           0 :     virtual UInt_t   GetLDCId() const {return 0;};
      35           0 :     virtual UInt_t   GetGDCId() const {return 0;};
      36           0 :     virtual UInt_t   GetTimestamp() const {return 0;};
      37             : 
      38             :     virtual Int_t    GetEquipmentSize() const;
      39           0 :     virtual Int_t    GetEquipmentType() const {return 0;};
      40             :     virtual Int_t    GetEquipmentId() const;
      41           0 :     virtual const UInt_t* GetEquipmentAttributes() const {return NULL;};
      42           0 :     virtual Int_t    GetEquipmentElementSize() const {return 0;};
      43           0 :     virtual Int_t    GetEquipmentHeaderSize() const {return 0;};
      44             : 
      45             :     virtual Bool_t   ReadHeader();
      46             :     virtual Bool_t   ReadNextData(UChar_t*& data);
      47             :     virtual Bool_t   ReadNext(UChar_t* data, Int_t size);
      48             : 
      49             :     virtual Bool_t   Reset();
      50             : 
      51             :     virtual Bool_t   NextEvent();
      52             :     virtual Bool_t   RewindEvents();
      53             : 
      54             :     virtual Bool_t   SetMemory( UChar_t* memory, ULong_t size );
      55             : 
      56             :     void             SetEquipmentID(Int_t id);
      57             : 
      58             :     Bool_t AddBuffer(UChar_t* memory, ULong_t size, Int_t equipmentId );
      59             :     void ClearBuffers();
      60             : 
      61             :   protected :
      62             : 
      63             :   private:
      64             :     class AliRRMBuffer {
      65             :     public:
      66             :       AliRRMBuffer();
      67             :       AliRRMBuffer(UChar_t* pBuffer, UInt_t bufferSize, Int_t equipmentId);
      68             :       ~AliRRMBuffer();
      69             :       AliRRMBuffer(const AliRRMBuffer& src);
      70             :       AliRRMBuffer& operator=(const AliRRMBuffer& src);
      71             : 
      72           0 :       UChar_t* GetBuffer() const {return fBuffer;}
      73           0 :       UInt_t GetBufferSize() const {return fBufferSize;}
      74           0 :       Int_t GetEquipmentId() const {return fEquipmentId;}
      75           0 :       void SetEquipmentId(Int_t equipmentId) {fEquipmentId=equipmentId;}
      76             :     private:
      77             :       UChar_t*         fBuffer;       //! buffer for payload
      78             :       UInt_t           fBufferSize;   //! size of fBuffer in bytes
      79             :       Int_t            fEquipmentId;  //! Equipment id
      80             :     };
      81             : 
      82             :     AliRawReaderMemory(const AliRawReaderMemory& rawReader);
      83             :     AliRawReaderMemory& operator = (const AliRawReaderMemory& rawReader);
      84             : 
      85             :     Bool_t OpenNextBuffer();
      86             : 
      87             :     UInt_t                          fPosition;      //! Current position in current buffer
      88             :     vector<AliRRMBuffer>            fBuffers;       //! Current buffer descriptor
      89             :     UInt_t                          fCurrent;       //! Current buffer index
      90             : 
      91         128 :     ClassDef(AliRawReaderMemory, 0) // class for reading raw digits from a memory block
      92             : };
      93             : 
      94             : #endif
      95             : 

Generated by: LCOV version 1.11