ROOT logo
#ifndef ALIRAWEQUIPMENTV2_H
#define ALIRAWEQUIPMENTV2_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                               */

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// AliRawEquipmentV2                                                    //
//                                                                      //
// Set of classes defining the ALICE RAW event format. The AliRawEventV2//
// 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 AliRawEventV2s. The number of      //
// sub-events depends on the number of DATE LDC's.                      //
// The AliRawEventV2 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
#include <TRef.h>

// Forward class declarations
class AliRawDataArrayV2;

#include "AliRawVEquipment.h"
#include "AliRawEquipmentHeader.h"

class AliRawEquipmentV2 : public AliRawVEquipment {

public:
   AliRawEquipmentV2();
   virtual ~AliRawEquipmentV2();

   virtual AliRawEquipmentHeader *GetEquipmentHeader();
   virtual AliRawData            *GetRawData();
   void                           Reset();
   virtual void	                  Clear(Option_t* = "");
   AliRawData                    *NextRawData(AliRawDataArrayV2 *array);

   virtual void                   CloneRawData(const AliRawData *rawData);

private:
   AliRawEquipmentHeader  fEqpHdr;      // equipment header
   AliRawData            *fRawData;     //! raw data container
   TRef                   fRawDataRef;  // reference to raw data container

   AliRawEquipmentV2(const AliRawEquipmentV2& eq);
   AliRawEquipmentV2& operator = (const AliRawEquipmentV2& eq);

   ClassDef(AliRawEquipmentV2,1)  // ALICE raw equipment object
};

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