ROOT logo
#ifndef ALIRAWVEVENT_H
#define ALIRAWVEVENT_H
// Author: Cvetan Cheshkov  11/05/2009

/* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// AliRawVEvent                                                         //
//                                                                      //
// Set of classes defining the ALICE RAW event format. The AliRawVEvent //
// class defines a RAW event. It consists of an AliEventHeader object   //
// an AliEquipmentHeader object, an AliRawData object and an array of   //
// sub-events, themselves also being AliRawVEvents. The number of        //
// sub-events depends on the number of DATE LDC's.                      //
// The AliRawVEvent objects are written to a ROOT file using different   //
// technologies, i.e. to local disk via AliRawDB or via rfiod using     //
// AliRawRFIODB or via rootd using AliRawRootdDB or to CASTOR via       //
// rootd using AliRawCastorDB (and for performance testing there is     //
// also AliRawNullDB).                                                  //
// The AliRunDB class provides the interface to the run and file        //
// catalogues (AliEn or plain MySQL).                                   //
// The AliStats class provides statics information that is added as     //
// a single keyed object to each raw file.                              //
// The AliTagDB provides an interface to a TAG database.                //
// The AliMDC class is usid by the "alimdc" stand-alone program         //
// that reads data directly from DATE.                                  //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TObject
#include <TObject.h>
#endif

#ifndef ROOT_TClonesArray
#include <TClonesArray.h>
#endif


// Forward class declarations
class AliRawEventHeaderBase;
class AliRawVEquipment;


class AliRawVEvent : public TObject {

public:
   AliRawVEvent() { }
   virtual ~AliRawVEvent() { }

   virtual AliRawEventHeaderBase *GetHeader() = 0;
   virtual Int_t                  GetNEquipments() const = 0;
   virtual AliRawVEquipment      *GetEquipment(Int_t index) const = 0;
   virtual Int_t                  GetNSubEvents() const = 0;
   virtual AliRawVEvent          *GetSubEvent(Int_t index) = 0;

private:

   AliRawVEvent(const AliRawVEvent& rawEvent);
   AliRawVEvent& operator = (const AliRawVEvent& rawEvent);

   ClassDef(AliRawVEvent,1)  // ALICE raw event object
};

#endif
 AliRawVEvent.h:1
 AliRawVEvent.h:2
 AliRawVEvent.h:3
 AliRawVEvent.h:4
 AliRawVEvent.h:5
 AliRawVEvent.h:6
 AliRawVEvent.h:7
 AliRawVEvent.h:8
 AliRawVEvent.h:9
 AliRawVEvent.h:10
 AliRawVEvent.h:11
 AliRawVEvent.h:12
 AliRawVEvent.h:13
 AliRawVEvent.h:14
 AliRawVEvent.h:15
 AliRawVEvent.h:16
 AliRawVEvent.h:17
 AliRawVEvent.h:18
 AliRawVEvent.h:19
 AliRawVEvent.h:20
 AliRawVEvent.h:21
 AliRawVEvent.h:22
 AliRawVEvent.h:23
 AliRawVEvent.h:24
 AliRawVEvent.h:25
 AliRawVEvent.h:26
 AliRawVEvent.h:27
 AliRawVEvent.h:28
 AliRawVEvent.h:29
 AliRawVEvent.h:30
 AliRawVEvent.h:31
 AliRawVEvent.h:32
 AliRawVEvent.h:33
 AliRawVEvent.h:34
 AliRawVEvent.h:35
 AliRawVEvent.h:36
 AliRawVEvent.h:37
 AliRawVEvent.h:38
 AliRawVEvent.h:39
 AliRawVEvent.h:40
 AliRawVEvent.h:41
 AliRawVEvent.h:42
 AliRawVEvent.h:43
 AliRawVEvent.h:44
 AliRawVEvent.h:45
 AliRawVEvent.h:46
 AliRawVEvent.h:47
 AliRawVEvent.h:48
 AliRawVEvent.h:49
 AliRawVEvent.h:50
 AliRawVEvent.h:51
 AliRawVEvent.h:52
 AliRawVEvent.h:53
 AliRawVEvent.h:54
 AliRawVEvent.h:55
 AliRawVEvent.h:56
 AliRawVEvent.h:57
 AliRawVEvent.h:58
 AliRawVEvent.h:59
 AliRawVEvent.h:60
 AliRawVEvent.h:61
 AliRawVEvent.h:62
 AliRawVEvent.h:63
 AliRawVEvent.h:64
 AliRawVEvent.h:65
 AliRawVEvent.h:66