]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TOF/TOFbase/AliTOFDRMSummaryData.cxx
Fixing small memory leaks (Hans)
[u/mrichter/AliRoot.git] / TOF / TOFbase / AliTOFDRMSummaryData.cxx
CommitLineData
5b4ed716 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
31ClassImp(AliTOFDRMSummaryData)
32
33AliTOFDRMSummaryData::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
66AliTOFDRMSummaryData::AliTOFDRMSummaryData(const AliTOFDRMSummaryData &source) :
e99fb5c9 67 TObject(source),
5b4ed716 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
99AliTOFDRMSummaryData &
100AliTOFDRMSummaryData::operator = (const AliTOFDRMSummaryData &source)
101{
102 /* operator = */
e99fb5c9 103 if(&source == this) return *this;
104 TObject::operator=(source);
105
5b4ed716 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
135AliTOFDRMSummaryData::~AliTOFDRMSummaryData()
136{
137 /* default destructor */
9ea619b2 138 delete fLTMSummaryData;
139 for (Int_t iTRM = 0; iTRM < N_TRM; iTRM++){
9ea619b2 140 delete fTRMSummaryData[iTRM];
141 }
5b4ed716 142}
143
144//_________________________________________________________________
145
146void
147AliTOFDRMSummaryData::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}