]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/ESD/AliESDADfriend.cxx
Merge branch 'master' of http://git.cern.ch/pub/AliRoot
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDADfriend.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 ///
18 /// This is a class for containing all the AD DDL raw data
19 /// It is written to the ESD-friend file
20 ///
21 ///////////////////////////////////////////////////////////////////////////////
22
23 #include "AliESDADfriend.h"
24
25 ClassImp(AliESDADfriend)
26
27 //_____________________________________________________________________________
28 AliESDADfriend::AliESDADfriend():
29   TObject(),
30   fTrigger(0),
31   fTriggerMask(0)
32 {
33   // default constructor
34   for (Int_t iScaler = 0; iScaler < kNScalers; iScaler++)
35     fScalers[iScaler] = 0;
36
37   for (Int_t iChannel = 0; iChannel < kNChannels; iChannel++) {
38     fBBScalers[iChannel] = 0;
39     fBGScalers[iChannel] = 0;
40     
41     for (Int_t iEv = 0; iEv < kNEvOfInt; iEv++) {
42       fADC[iChannel][iEv]   = 0.0;
43       fIsInt[iChannel][iEv] = kFALSE;
44       fIsBB[iChannel][iEv]  = kFALSE;
45       fIsBG[iChannel][iEv]  = kFALSE;
46     }
47     fTime[iChannel]  = 0.0;
48     fWidth[iChannel] = 0.0;
49   }
50 }
51
52 //_____________________________________________________________________________
53 AliESDADfriend::~AliESDADfriend()
54 {
55   // destructor
56 }
57
58 //_____________________________________________________________________________
59 AliESDADfriend::AliESDADfriend(const AliESDADfriend& adfriend):
60   TObject(adfriend),
61   fTrigger(adfriend.fTrigger),
62   fTriggerMask(adfriend.fTriggerMask)
63 {
64   // copy constructor
65   for (Int_t iScaler = 0; iScaler < kNScalers; iScaler++)
66     fScalers[iScaler] = adfriend.fScalers[iScaler];
67
68   for (Int_t iChannel = 0; iChannel < kNChannels; iChannel++) {
69     fBBScalers[iChannel] = adfriend.fBBScalers[iChannel];
70     fBGScalers[iChannel] = adfriend.fBGScalers[iChannel];
71     
72     for (Int_t iEv = 0; iEv < kNEvOfInt; iEv++) {
73       fADC[iChannel][iEv]   = adfriend.fADC[iChannel][iEv];
74       fIsInt[iChannel][iEv] = adfriend.fIsInt[iChannel][iEv];
75       fIsBB[iChannel][iEv]  = adfriend.fIsBB[iChannel][iEv];
76       fIsBG[iChannel][iEv]  = adfriend.fIsBG[iChannel][iEv];
77     }
78     fTime[iChannel]  = adfriend.fTime[iChannel];
79     fWidth[iChannel] = adfriend.fWidth[iChannel];
80   }
81 }
82
83 //_____________________________________________________________________________
84 AliESDADfriend& AliESDADfriend::operator = (const AliESDADfriend& adfriend)
85 {
86   // assignment operator
87   if(&adfriend == this) return *this;
88   TObject::operator=(adfriend);
89
90   fTrigger = adfriend.fTrigger;
91   fTriggerMask = adfriend.fTriggerMask;
92
93   for (Int_t iScaler = 0; iScaler < kNScalers; iScaler++)
94     fScalers[iScaler] = adfriend.fScalers[iScaler];
95
96   for (Int_t iChannel = 0; iChannel < kNChannels; iChannel++) {
97     fBBScalers[iChannel] = adfriend.fBBScalers[iChannel];
98     fBGScalers[iChannel] = adfriend.fBGScalers[iChannel];
99     
100     for (Int_t iEv = 0; iEv < kNEvOfInt; iEv++) {
101       fADC[iChannel][iEv]   = adfriend.fADC[iChannel][iEv];
102       fIsInt[iChannel][iEv] = adfriend.fIsInt[iChannel][iEv];
103       fIsBB[iChannel][iEv]  = adfriend.fIsBB[iChannel][iEv];
104       fIsBG[iChannel][iEv]  = adfriend.fIsBG[iChannel][iEv];
105     }
106     fTime[iChannel]  = adfriend.fTime[iChannel];
107     fWidth[iChannel] = adfriend.fWidth[iChannel];
108   }
109
110   return *this;
111 }
112
113 void AliESDADfriend::Reset()
114 {
115   // Reset the contents of the object
116   fTrigger = 0;
117   fTriggerMask = 0;
118
119   for (Int_t iScaler = 0; iScaler < kNScalers; iScaler++)
120     fScalers[iScaler] = 0;
121
122   for (Int_t iChannel = 0; iChannel < kNChannels; iChannel++) {
123     fBBScalers[iChannel] = 0;
124     fBGScalers[iChannel] = 0;
125     
126     for (Int_t iEv = 0; iEv < kNEvOfInt; iEv++) {
127       fADC[iChannel][iEv]   = 0.0;
128       fIsInt[iChannel][iEv] = kFALSE;
129       fIsBB[iChannel][iEv]  = kFALSE;
130       fIsBG[iChannel][iEv]  = kFALSE;
131     }
132     fTime[iChannel]  = 0.0;
133     fWidth[iChannel] = 0.0;
134   }
135   
136 }