]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RAW/AliRawEquipment.cxx
compilation warnings corrected
[u/mrichter/AliRoot.git] / RAW / AliRawEquipment.cxx
CommitLineData
d04aea32 1// @(#) $Id$
94d918a7 2// Author: Fons Rademakers 26/11/99
3
4/**************************************************************************
5 * Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
6 * *
7 * Author: The ALICE Off-line Project. *
8 * Contributors are mentioned in the code where appropriate. *
9 * *
10 * Permission to use, copy, modify and distribute this software and its *
11 * documentation strictly for non-commercial purposes is hereby granted *
12 * without fee, provided that the above copyright notice appears in all *
13 * copies and that both the copyright notice and this permission notice *
14 * appear in the supporting documentation. The authors make no claims *
15 * about the suitability of this software for any purpose. It is *
16 * provided "as is" without express or implied warranty. *
17 **************************************************************************/
18
19//////////////////////////////////////////////////////////////////////////
20// //
21// AliRawEvent //
22// //
23// Set of classes defining the ALICE RAW event format. The AliRawEvent //
24// class defines a RAW event. It consists of an AliEventHeader object //
25// an AliEquipmentHeader object, an AliRawData object and an array of //
26// sub-events, themselves also being AliRawEvents. The number of //
27// sub-events depends on the number of DATE LDC's. //
28// The AliRawEvent objects are written to a ROOT file using different //
29// technologies, i.e. to local disk via AliRawDB or via rfiod using //
30// AliRawRFIODB or via rootd using AliRawRootdDB or to CASTOR via //
31// rootd using AliRawCastorDB (and for performance testing there is //
32// also AliRawNullDB). //
94d918a7 33// The AliStats class provides statics information that is added as //
34// a single keyed object to each raw file. //
35// The AliTagDB provides an interface to a TAG database. //
36// The AliMDC class is usid by the "alimdc" stand-alone program //
37// that reads data directly from DATE. //
38// //
39//////////////////////////////////////////////////////////////////////////
40
6605cb7a 41#include <AliRawDataArray.h>
42
94d918a7 43#include "AliRawEquipmentHeader.h"
44#include "AliRawData.h"
45
46#include "AliRawEquipment.h"
47
48
49ClassImp(AliRawEquipment)
50
51
52//______________________________________________________________________________
f3c1e83c 53AliRawEquipment::AliRawEquipment():
54fEqpHdr(NULL),
6605cb7a 55fRawData(NULL),
56fRawDataRef(NULL)
94d918a7 57{
58 // Create ALICE equipment object.
59
94d918a7 60}
61
62//______________________________________________________________________________
63AliRawEquipmentHeader *AliRawEquipment::GetEquipmentHeader()
64{
65 // Get equipment header part of AliRawEquipment.
66
67 if (!fEqpHdr)
68 fEqpHdr = new AliRawEquipmentHeader;
69
70 return fEqpHdr;
71}
72
73//______________________________________________________________________________
74AliRawData *AliRawEquipment::GetRawData()
75{
76 // Get raw data part of AliRawEquipment.
77
6605cb7a 78 if (!fRawData) {
79 if (!fRawDataRef.IsValid())
94d918a7 80 fRawData = new AliRawData;
6605cb7a 81 else {
82 fRawData = (AliRawData*)fRawDataRef.GetObject();
83 }
84 }
85 return fRawData;
94d918a7 86}
87
94d918a7 88//______________________________________________________________________________
89AliRawEquipment::~AliRawEquipment()
90{
91 // Clean up event object. Delete also, possible, private raw data.
92
93 delete fEqpHdr;
94 delete fRawData;
95}
6605cb7a 96
aeaaf1d0 97//______________________________________________________________________________
243e7b72 98void AliRawEquipment::CloneRawData(const AliRawData *rawData)
aeaaf1d0 99{
243e7b72 100 // Clone the input raw data and
101 // flush the TRef
aeaaf1d0 102
aeaaf1d0 103 fRawDataRef = NULL;
243e7b72 104 if (rawData) rawData = (AliRawData*)rawData->Clone();
aeaaf1d0 105}
106
6605cb7a 107//______________________________________________________________________________
33314186 108void AliRawEquipment::Streamer(TBuffer &R__b)
6605cb7a 109{
33314186 110 // Stream an object of class AliRawEquipment.
111
112 UInt_t R__s, R__c;
113 if (R__b.IsReading()) {
114 Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { }
115 TObject::Streamer(R__b);
116 R__b >> fEqpHdr;
117 R__b >> fRawData;
118 fRawDataRef.Streamer(R__b);
119 R__b.CheckByteCount(R__s, R__c, AliRawEquipment::IsA());
120 } else {
121 R__c = R__b.WriteVersion(AliRawEquipment::IsA(), kTRUE);
122 TObject::Streamer(R__b);
123 R__b << fEqpHdr;
124 R__b << fRawData;
125 fRawDataRef.Streamer(R__b);
126 R__b.SetByteCount(R__c, kTRUE);
127 }
6605cb7a 128}