]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RAW/AliRawEquipment.cxx
Old Altro and TPC raw stream modified in a way that they work with the TPC cosmic...
[u/mrichter/AliRoot.git] / RAW / AliRawEquipment.cxx
1 // @(#)alimdc:$Name$:$Id$
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).                                                  //
33 // The AliRunDB class provides the interface to the run and file        //
34 // catalogues (AliEn or plain MySQL).                                   //
35 // The AliStats class provides statics information that is added as     //
36 // a single keyed object to each raw file.                              //
37 // The AliTagDB provides an interface to a TAG database.                //
38 // The AliMDC class is usid by the "alimdc" stand-alone program         //
39 // that reads data directly from DATE.                                  //
40 //                                                                      //
41 //////////////////////////////////////////////////////////////////////////
42
43 #include "AliRawEquipmentHeader.h"
44 #include "AliRawData.h"
45
46 #include "AliRawEquipment.h"
47
48
49 ClassImp(AliRawEquipment)
50
51
52 //______________________________________________________________________________
53 AliRawEquipment::AliRawEquipment()
54 {
55    // Create ALICE equipment object.
56
57    fEqpHdr     = 0;
58    fRawData    = 0;
59 }
60
61 //______________________________________________________________________________
62 AliRawEquipment::AliRawEquipment(const AliRawEquipment& rawEquipment): TObject(rawEquipment)
63 {
64 // copy constructor
65
66   Fatal("AliRawEquipment", "copy constructor not implemented");
67 }
68
69 //______________________________________________________________________________
70 AliRawEquipment& AliRawEquipment::operator = (const AliRawEquipment& /*rawEquipment*/)
71 {
72 // assignment operator
73
74   Fatal("operator =", "assignment operator not implemented");
75   return *this;
76 }
77
78 //______________________________________________________________________________
79 AliRawEquipmentHeader *AliRawEquipment::GetEquipmentHeader()
80 {
81    // Get equipment header part of AliRawEquipment.
82
83    if (!fEqpHdr)
84       fEqpHdr = new AliRawEquipmentHeader;
85
86    return fEqpHdr;
87 }
88
89 //______________________________________________________________________________
90 AliRawData *AliRawEquipment::GetRawData()
91 {
92    // Get raw data part of AliRawEquipment.
93
94    if (!fRawData)
95       fRawData = new AliRawData;
96
97    return fRawData;
98 }
99
100 //______________________________________________________________________________
101 void AliRawEquipment::Reset()
102 {
103    // Reset the equipment in case it needs to be re-used (avoiding costly
104    // new/delete cycle). We reset the size marker for the AliRawData
105    // object.
106
107    GetRawData()->SetSize(0);
108 }
109
110 //______________________________________________________________________________
111 AliRawEquipment::~AliRawEquipment()
112 {
113    // Clean up event object. Delete also, possible, private raw data.
114
115    delete fEqpHdr;
116    delete fRawData;
117 }