LCOV - code coverage report
Current view: top level - RAW/RAWDatabase - AliRawEventV2.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 2 100.0 %
Date: 2016-06-14 17:26:59 Functions: 3 6 50.0 %

          Line data    Source code
       1             : #ifndef ALIRAWEVENTV2_H
       2             : #define ALIRAWEVENTV2_H
       3             : // Author: Cvetan Cheshkov  11/05/2009
       4             : 
       5             : /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
       6             :  * See cxx source for full Copyright notice                               */
       7             : 
       8             : //////////////////////////////////////////////////////////////////////////
       9             : //                                                                      //
      10             : // AliRawEventV2                                                          //
      11             : //                                                                      //
      12             : // Set of classes defining the ALICE RAW event format. The AliRawEventV2  //
      13             : // class defines a RAW event. It consists of an AliEventHeader object   //
      14             : // an AliEquipmentHeader object, an AliRawData object and an array of   //
      15             : // sub-events, themselves also being AliRawEventV2s. The number of        //
      16             : // sub-events depends on the number of DATE LDC's.                      //
      17             : // The AliRawEventV2 objects are written to a ROOT file using different   //
      18             : // technologies, i.e. to local disk via AliRawDB or via rfiod using     //
      19             : // AliRawRFIODB or via rootd using AliRawRootdDB or to CASTOR via       //
      20             : // rootd using AliRawCastorDB (and for performance testing there is     //
      21             : // also AliRawNullDB).                                                  //
      22             : // The AliRunDB class provides the interface to the run and file        //
      23             : // catalogues (AliEn or plain MySQL).                                   //
      24             : // The AliStats class provides statics information that is added as     //
      25             : // a single keyed object to each raw file.                              //
      26             : // The AliTagDB provides an interface to a TAG database.                //
      27             : // The AliMDC class is usid by the "alimdc" stand-alone program         //
      28             : // that reads data directly from DATE.                                  //
      29             : //                                                                      //
      30             : //////////////////////////////////////////////////////////////////////////
      31             : 
      32             : #ifndef ROOT_TObject
      33             : #include <TObject.h>
      34             : #endif
      35             : 
      36             : #ifndef ROOT_TClonesArray
      37             : #include <TClonesArray.h>
      38             : #endif
      39             : 
      40             : 
      41             : // Forward class declarations
      42             : class AliRawEventHeaderBase;
      43             : class AliRawVEquipment;
      44             : class AliRawEquipmentV2;
      45             : 
      46             : #include "AliRawVEvent.h"
      47             : 
      48             : class AliRawEventV2 : public AliRawVEvent {
      49             : 
      50             : public:
      51             :    AliRawEventV2();
      52             :    virtual ~AliRawEventV2();
      53             : 
      54             :    AliRawEventHeaderBase *GetHeader(char*& data);
      55             :    virtual AliRawEventHeaderBase *GetHeader();
      56             :    virtual Int_t                  GetNEquipments() const;
      57             :    AliRawEquipmentV2             *NextEquipment();
      58             :    virtual AliRawVEquipment      *GetEquipment(Int_t index) const;
      59      387712 :    virtual Int_t                  GetNSubEvents() const { return (fEvtHdrs) ? (fEvtHdrs->GetEntriesFast()-1) : 0; }
      60             :    AliRawEventV2                 *NextSubEvent();
      61             :    virtual AliRawVEvent          *GetSubEvent(Int_t index);
      62             :    void                           Reset();
      63             :    virtual void                   Clear(Option_t* = "");
      64             : 
      65             : private:
      66             :    TClonesArray           fEquipments;  // AliRawEquipmentV2's
      67             :    TClonesArray          *fEvtHdrs;     //-> event and subevent headers
      68             : 
      69             :    Int_t                  fIndex;       //!
      70             :    Int_t                  fNAllocHdrs;  //!
      71             :    Int_t                  fNAllocEqs;   //!
      72             : 
      73             :    AliRawEventV2(const AliRawEventV2& rawEvent);
      74             :    AliRawEventV2& operator = (const AliRawEventV2& rawEvent);
      75             : 
      76         138 :    ClassDef(AliRawEventV2,1)  // ALICE raw event object
      77             : };
      78             : 
      79             : #endif

Generated by: LCOV version 1.11