Line data Source code
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 : ///
18 : /// This is a class for containing all the VZERO DDL raw data
19 : /// It is written to the ESD-friend file
20 : ///
21 : ///////////////////////////////////////////////////////////////////////////////
22 :
23 : #include "AliESDVZEROfriend.h"
24 :
25 172 : ClassImp(AliESDVZEROfriend)
26 :
27 : //_____________________________________________________________________________
28 : AliESDVZEROfriend::AliESDVZEROfriend():
29 14 : AliVVZEROfriend(),
30 14 : fTrigger(0),
31 14 : fTriggerMask(0)
32 70 : {
33 : // default constructor
34 476 : for (Int_t iScaler = 0; iScaler < kNScalers; iScaler++)
35 224 : fScalers[iScaler] = 0;
36 :
37 308 : for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++)
38 140 : fBunchNumbers[iBunch] = 0;
39 :
40 1820 : for (Int_t iChannel = 0; iChannel < kNChannels; iChannel++) {
41 896 : fBBScalers[iChannel] = 0;
42 896 : fBGScalers[iChannel] = 0;
43 19712 : for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++) {
44 8960 : fChargeMB[iChannel][iBunch] = 0;
45 8960 : fIsIntMB[iChannel][iBunch] = kFALSE;
46 8960 : fIsBBMB[iChannel][iBunch] = kFALSE;
47 8960 : fIsBGMB[iChannel][iBunch] = kFALSE;
48 : }
49 39424 : for (Int_t iEv = 0; iEv < kNEvOfInt; iEv++) {
50 18816 : fADC[iChannel][iEv] = 0.0;
51 18816 : fIsInt[iChannel][iEv] = kFALSE;
52 18816 : fIsBB[iChannel][iEv] = kFALSE;
53 18816 : fIsBG[iChannel][iEv] = kFALSE;
54 : }
55 896 : fTime[iChannel] = 0.0;
56 896 : fWidth[iChannel] = 0.0;
57 : }
58 28 : }
59 :
60 : //_____________________________________________________________________________
61 : AliESDVZEROfriend::~AliESDVZEROfriend()
62 56 : {
63 : // destructor
64 56 : }
65 :
66 : //_____________________________________________________________________________
67 : AliESDVZEROfriend::AliESDVZEROfriend(const AliESDVZEROfriend& vzerofriend):
68 0 : AliVVZEROfriend(vzerofriend),
69 0 : fTrigger(vzerofriend.fTrigger),
70 0 : fTriggerMask(vzerofriend.fTriggerMask)
71 0 : {
72 : // copy constructor
73 0 : for (Int_t iScaler = 0; iScaler < kNScalers; iScaler++)
74 0 : fScalers[iScaler] = vzerofriend.fScalers[iScaler];
75 :
76 0 : for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++)
77 0 : fBunchNumbers[iBunch] = vzerofriend.fBunchNumbers[iBunch];
78 :
79 0 : for (Int_t iChannel = 0; iChannel < kNChannels; iChannel++) {
80 0 : fBBScalers[iChannel] = vzerofriend.fBBScalers[iChannel];
81 0 : fBGScalers[iChannel] = vzerofriend.fBGScalers[iChannel];
82 0 : for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++) {
83 0 : fChargeMB[iChannel][iBunch] = vzerofriend.fChargeMB[iChannel][iBunch];
84 0 : fIsIntMB[iChannel][iBunch] = vzerofriend.fIsIntMB[iChannel][iBunch];
85 0 : fIsBBMB[iChannel][iBunch] = vzerofriend.fIsBBMB[iChannel][iBunch];
86 0 : fIsBGMB[iChannel][iBunch] = vzerofriend.fIsBGMB[iChannel][iBunch];
87 : }
88 0 : for (Int_t iEv = 0; iEv < kNEvOfInt; iEv++) {
89 0 : fADC[iChannel][iEv] = vzerofriend.fADC[iChannel][iEv];
90 0 : fIsInt[iChannel][iEv] = vzerofriend.fIsInt[iChannel][iEv];
91 0 : fIsBB[iChannel][iEv] = vzerofriend.fIsBB[iChannel][iEv];
92 0 : fIsBG[iChannel][iEv] = vzerofriend.fIsBG[iChannel][iEv];
93 : }
94 0 : fTime[iChannel] = vzerofriend.fTime[iChannel];
95 0 : fWidth[iChannel] = vzerofriend.fWidth[iChannel];
96 : }
97 0 : }
98 :
99 : //_____________________________________________________________________________
100 : AliESDVZEROfriend& AliESDVZEROfriend::operator = (const AliESDVZEROfriend& vzerofriend)
101 : {
102 : // assignment operator
103 28 : if(&vzerofriend == this) return *this;
104 8 : AliVVZEROfriend::operator=(vzerofriend);
105 :
106 8 : fTrigger = vzerofriend.fTrigger;
107 8 : fTriggerMask = vzerofriend.fTriggerMask;
108 :
109 272 : for (Int_t iScaler = 0; iScaler < kNScalers; iScaler++)
110 128 : fScalers[iScaler] = vzerofriend.fScalers[iScaler];
111 :
112 176 : for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++)
113 80 : fBunchNumbers[iBunch] = vzerofriend.fBunchNumbers[iBunch];
114 :
115 1040 : for (Int_t iChannel = 0; iChannel < kNChannels; iChannel++) {
116 512 : fBBScalers[iChannel] = vzerofriend.fBBScalers[iChannel];
117 512 : fBGScalers[iChannel] = vzerofriend.fBGScalers[iChannel];
118 11264 : for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++) {
119 5120 : fChargeMB[iChannel][iBunch] = vzerofriend.fChargeMB[iChannel][iBunch];
120 5120 : fIsIntMB[iChannel][iBunch] = vzerofriend.fIsIntMB[iChannel][iBunch];
121 5120 : fIsBBMB[iChannel][iBunch] = vzerofriend.fIsBBMB[iChannel][iBunch];
122 5120 : fIsBGMB[iChannel][iBunch] = vzerofriend.fIsBGMB[iChannel][iBunch];
123 : }
124 22528 : for (Int_t iEv = 0; iEv < kNEvOfInt; iEv++) {
125 10752 : fADC[iChannel][iEv] = vzerofriend.fADC[iChannel][iEv];
126 10752 : fIsInt[iChannel][iEv] = vzerofriend.fIsInt[iChannel][iEv];
127 10752 : fIsBB[iChannel][iEv] = vzerofriend.fIsBB[iChannel][iEv];
128 10752 : fIsBG[iChannel][iEv] = vzerofriend.fIsBG[iChannel][iEv];
129 : }
130 512 : fTime[iChannel] = vzerofriend.fTime[iChannel];
131 512 : fWidth[iChannel] = vzerofriend.fWidth[iChannel];
132 : }
133 :
134 8 : return *this;
135 12 : }
136 :
137 : void AliESDVZEROfriend::Reset()
138 : {
139 : // Reset the contents of the object
140 8 : fTrigger = 0;
141 4 : fTriggerMask = 0;
142 :
143 136 : for (Int_t iScaler = 0; iScaler < kNScalers; iScaler++)
144 64 : fScalers[iScaler] = 0;
145 :
146 88 : for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++)
147 40 : fBunchNumbers[iBunch] = 0;
148 :
149 520 : for (Int_t iChannel = 0; iChannel < kNChannels; iChannel++) {
150 256 : fBBScalers[iChannel] = 0;
151 256 : fBGScalers[iChannel] = 0;
152 5632 : for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++) {
153 2560 : fChargeMB[iChannel][iBunch] = 0;
154 2560 : fIsIntMB[iChannel][iBunch] = kFALSE;
155 2560 : fIsBBMB[iChannel][iBunch] = kFALSE;
156 2560 : fIsBGMB[iChannel][iBunch] = kFALSE;
157 : }
158 11264 : for (Int_t iEv = 0; iEv < kNEvOfInt; iEv++) {
159 5376 : fADC[iChannel][iEv] = 0.0;
160 5376 : fIsInt[iChannel][iEv] = kFALSE;
161 5376 : fIsBB[iChannel][iEv] = kFALSE;
162 5376 : fIsBG[iChannel][iEv] = kFALSE;
163 : }
164 256 : fTime[iChannel] = 0.0;
165 256 : fWidth[iChannel] = 0.0;
166 : }
167 :
168 4 : }
|