Added macro to lauch TOF QA task with extended functionality via plugin
[u/mrichter/AliRoot.git] / TOF / AliTOFDRMSummaryData.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14 ***************************************************************************/
15
16 /*
17   author: Roberto Preghenella (R+), preghenella@bo.infn.it
18 */
19
20
21 //////////////////////////////////////////////////////////////////////
22 //                                                                  //
23 //                                                                  //
24 //        This class provides a summary for DRM data.               //
25 //                                                                  //
26 //                                                                  //
27 //////////////////////////////////////////////////////////////////////
28
29 #include "AliTOFDRMSummaryData.h"
30
31 ClassImp(AliTOFDRMSummaryData)
32
33 AliTOFDRMSummaryData::AliTOFDRMSummaryData() :
34   TObject(),
35   fHeader(kFALSE),
36   fTrailer(kFALSE),
37   fSlotID(0),
38   fEventWords(0),
39   fDRMID(0),
40   fLocalEventCounter(0),
41   fPartecipatingSlotID(0),
42   fCBit(0),
43   fVersID(0),
44   fDRMhSize(0),
45   fSlotEnableMask(0),
46   fFaultID(0),
47   fRTOBit(0),
48   fL0BCID(0),
49   fRunTimeInfo(0),
50   fTemperature(0),
51   fACKBit(0),
52   fSensAD(0),
53   fEventCRC(0),
54   fDecoderCRC(0),
55   fDecoderSlotEnableMask(0),
56   fLTMSummaryData(0x0)
57 {
58   /* default constructor */
59   fLTMSummaryData = new AliTOFLTMSummaryData();
60   for (Int_t iTRM = 0; iTRM < N_TRM; iTRM++)
61     fTRMSummaryData[iTRM] = new AliTOFTRMSummaryData();
62 }
63
64 //_________________________________________________________________
65
66 AliTOFDRMSummaryData::AliTOFDRMSummaryData(const AliTOFDRMSummaryData &source) :
67   TObject(source),
68   fHeader(source.fHeader),
69   fTrailer(source.fTrailer),
70   fSlotID(source.fSlotID),
71   fEventWords(source.fEventWords),
72   fDRMID(source.fDRMID),
73   fLocalEventCounter(source.fLocalEventCounter),
74   fPartecipatingSlotID(source.fPartecipatingSlotID),
75   fCBit(source.fCBit),
76   fVersID(source.fVersID),
77   fDRMhSize(source.fDRMhSize),
78   fSlotEnableMask(source.fSlotEnableMask),
79   fFaultID(source.fFaultID),
80   fRTOBit(source.fRTOBit),
81   fL0BCID(source.fL0BCID),
82   fRunTimeInfo(source.fRunTimeInfo),
83   fTemperature(source.fTemperature),
84   fACKBit(source.fACKBit),
85   fSensAD(source.fSensAD),
86   fEventCRC(source.fEventCRC),
87   fDecoderCRC(source.fDecoderCRC),
88   fDecoderSlotEnableMask(source.fDecoderSlotEnableMask),
89   fLTMSummaryData(0x0)
90 {
91   /* copy constructor */
92   fLTMSummaryData = new AliTOFLTMSummaryData(*source.fLTMSummaryData);
93   for (Int_t iTRM = 0; iTRM < N_TRM; iTRM++)
94     fTRMSummaryData[iTRM] = new AliTOFTRMSummaryData(*source.fTRMSummaryData[iTRM]);
95 }
96
97 //_________________________________________________________________
98
99 AliTOFDRMSummaryData &
100 AliTOFDRMSummaryData::operator = (const AliTOFDRMSummaryData &source)
101 {
102   /* operator = */
103   if(&source == this) return *this;
104   TObject::operator=(source);
105
106   fHeader = source.fHeader;
107   fTrailer = source.fTrailer;
108   fSlotID = source.fSlotID;
109   fEventWords = source.fEventWords;
110   fDRMID = source.fDRMID;
111   fLocalEventCounter = source.fLocalEventCounter;
112   fPartecipatingSlotID = source.fPartecipatingSlotID;
113   fCBit = source.fCBit;
114   fVersID = source.fVersID;
115   fDRMhSize = source.fDRMhSize;
116   fSlotEnableMask = source.fSlotEnableMask;
117   fFaultID = source.fFaultID;
118   fRTOBit = source.fRTOBit;
119   fL0BCID = source.fL0BCID;
120   fRunTimeInfo = source.fRunTimeInfo;
121   fTemperature = source.fTemperature;
122   fACKBit = source.fACKBit;
123   fSensAD = source.fSensAD;
124   fEventCRC = source.fEventCRC;
125   fDecoderCRC = source.fDecoderCRC;
126   fDecoderSlotEnableMask = source.fDecoderSlotEnableMask;
127   *fLTMSummaryData = *source.fLTMSummaryData;
128   for (Int_t iTRM = 0; iTRM < N_TRM; iTRM++)
129     *fTRMSummaryData[iTRM] = *source.fTRMSummaryData[iTRM];
130   return *this;
131 }
132
133 //_________________________________________________________________
134
135 AliTOFDRMSummaryData::~AliTOFDRMSummaryData()
136 {
137   /* default destructor */
138     delete fLTMSummaryData;
139   for (Int_t iTRM = 0; iTRM < N_TRM; iTRM++){
140       delete fTRMSummaryData[iTRM];
141   }
142 }
143
144 //_________________________________________________________________
145
146 void
147 AliTOFDRMSummaryData::Reset()
148 {
149   /* reset function */
150   fHeader = kFALSE;
151   fTrailer = kFALSE;
152   fSlotID = 0;
153   fEventWords = 0;
154   fDRMID = 0;
155   fLocalEventCounter = 0;
156   fPartecipatingSlotID = 0;
157   fCBit = 0;
158   fVersID = 0;
159   fDRMhSize = 0;
160   fSlotEnableMask = 0;
161   fFaultID = 0;
162   fRTOBit = 0;
163   fL0BCID = 0;
164   fRunTimeInfo = 0;
165   fTemperature = 0;
166   fACKBit = 0;
167   fSensAD = 0;
168   fEventCRC = 0;
169   fDecoderCRC = 0;
170   fDecoderSlotEnableMask = 0;
171   fLTMSummaryData->Reset();
172   for (Int_t iTRM = 0; iTRM < N_TRM; iTRM++)
173     fTRMSummaryData[iTRM]->Reset();
174 }