ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

///////////////////////////////////////////////////////////////////////////////
///
/// This is a class for containing all the VZERO DDL raw data
/// It is written to the ESD-friend file
///
///////////////////////////////////////////////////////////////////////////////

#include "AliESDVZEROfriend.h"

ClassImp(AliESDVZEROfriend)

//_____________________________________________________________________________
AliESDVZEROfriend::AliESDVZEROfriend():
  TObject(),
  fTrigger(0),
  fTriggerMask(0)
{
  // default constructor
  for (Int_t iScaler = 0; iScaler < kNScalers; iScaler++)
    fScalers[iScaler] = 0;

  for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++)
    fBunchNumbers[iBunch] = 0;

  for (Int_t iChannel = 0; iChannel < kNChannels; iChannel++) {
    fBBScalers[iChannel] = 0;
    fBGScalers[iChannel] = 0;
    for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++) {
      fChargeMB[iChannel][iBunch] = 0;
      fIsIntMB[iChannel][iBunch]  = kFALSE;
      fIsBBMB[iChannel][iBunch]   = kFALSE;
      fIsBGMB[iChannel][iBunch]   = kFALSE;
    }
    for (Int_t iEv = 0; iEv < kNEvOfInt; iEv++) {
      fADC[iChannel][iEv]   = 0.0;
      fIsInt[iChannel][iEv] = kFALSE;
      fIsBB[iChannel][iEv]  = kFALSE;
      fIsBG[iChannel][iEv]  = kFALSE;
    }
    fTime[iChannel]  = 0.0;
    fWidth[iChannel] = 0.0;
  }
}

//_____________________________________________________________________________
AliESDVZEROfriend::~AliESDVZEROfriend()
{
  // destructor
}

//_____________________________________________________________________________
AliESDVZEROfriend::AliESDVZEROfriend(const AliESDVZEROfriend& vzerofriend):
  TObject(vzerofriend),
  fTrigger(vzerofriend.fTrigger),
  fTriggerMask(vzerofriend.fTriggerMask)
{
  // copy constructor
  for (Int_t iScaler = 0; iScaler < kNScalers; iScaler++)
    fScalers[iScaler] = vzerofriend.fScalers[iScaler];

  for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++)
    fBunchNumbers[iBunch] = vzerofriend.fBunchNumbers[iBunch];

  for (Int_t iChannel = 0; iChannel < kNChannels; iChannel++) {
    fBBScalers[iChannel] = vzerofriend.fBBScalers[iChannel];
    fBGScalers[iChannel] = vzerofriend.fBGScalers[iChannel];
    for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++) {
      fChargeMB[iChannel][iBunch] = vzerofriend.fChargeMB[iChannel][iBunch];
      fIsIntMB[iChannel][iBunch]  = vzerofriend.fIsIntMB[iChannel][iBunch];
      fIsBBMB[iChannel][iBunch]   = vzerofriend.fIsBBMB[iChannel][iBunch];
      fIsBGMB[iChannel][iBunch]   = vzerofriend.fIsBGMB[iChannel][iBunch];
    }
    for (Int_t iEv = 0; iEv < kNEvOfInt; iEv++) {
      fADC[iChannel][iEv]   = vzerofriend.fADC[iChannel][iEv];
      fIsInt[iChannel][iEv] = vzerofriend.fIsInt[iChannel][iEv];
      fIsBB[iChannel][iEv]  = vzerofriend.fIsBB[iChannel][iEv];
      fIsBG[iChannel][iEv]  = vzerofriend.fIsBG[iChannel][iEv];
    }
    fTime[iChannel]  = vzerofriend.fTime[iChannel];
    fWidth[iChannel] = vzerofriend.fWidth[iChannel];
  }
}

//_____________________________________________________________________________
AliESDVZEROfriend& AliESDVZEROfriend::operator = (const AliESDVZEROfriend& vzerofriend)
{
  // assignment operator
  if(&vzerofriend == this) return *this;
  TObject::operator=(vzerofriend);

  fTrigger = vzerofriend.fTrigger;
  fTriggerMask = vzerofriend.fTriggerMask;

  for (Int_t iScaler = 0; iScaler < kNScalers; iScaler++)
    fScalers[iScaler] = vzerofriend.fScalers[iScaler];

  for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++)
    fBunchNumbers[iBunch] = vzerofriend.fBunchNumbers[iBunch];

  for (Int_t iChannel = 0; iChannel < kNChannels; iChannel++) {
    fBBScalers[iChannel] = vzerofriend.fBBScalers[iChannel];
    fBGScalers[iChannel] = vzerofriend.fBGScalers[iChannel];
    for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++) {
      fChargeMB[iChannel][iBunch] = vzerofriend.fChargeMB[iChannel][iBunch];
      fIsIntMB[iChannel][iBunch]  = vzerofriend.fIsIntMB[iChannel][iBunch];
      fIsBBMB[iChannel][iBunch]   = vzerofriend.fIsBBMB[iChannel][iBunch];
      fIsBGMB[iChannel][iBunch]   = vzerofriend.fIsBGMB[iChannel][iBunch];
    }
    for (Int_t iEv = 0; iEv < kNEvOfInt; iEv++) {
      fADC[iChannel][iEv]   = vzerofriend.fADC[iChannel][iEv];
      fIsInt[iChannel][iEv] = vzerofriend.fIsInt[iChannel][iEv];
      fIsBB[iChannel][iEv]  = vzerofriend.fIsBB[iChannel][iEv];
      fIsBG[iChannel][iEv]  = vzerofriend.fIsBG[iChannel][iEv];
    }
    fTime[iChannel]  = vzerofriend.fTime[iChannel];
    fWidth[iChannel] = vzerofriend.fWidth[iChannel];
  }

  return *this;
}

void AliESDVZEROfriend::Reset()
{
  // Reset the contents of the object
  fTrigger = 0;
  fTriggerMask = 0;

  for (Int_t iScaler = 0; iScaler < kNScalers; iScaler++)
    fScalers[iScaler] = 0;

  for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++)
    fBunchNumbers[iBunch] = 0;

  for (Int_t iChannel = 0; iChannel < kNChannels; iChannel++) {
    fBBScalers[iChannel] = 0;
    fBGScalers[iChannel] = 0;
    for (Int_t iBunch = 0; iBunch < kNBunches; iBunch++) {
      fChargeMB[iChannel][iBunch] = 0;
      fIsIntMB[iChannel][iBunch]  = kFALSE;
      fIsBBMB[iChannel][iBunch]   = kFALSE;
      fIsBGMB[iChannel][iBunch]   = kFALSE;
    }
    for (Int_t iEv = 0; iEv < kNEvOfInt; iEv++) {
      fADC[iChannel][iEv]   = 0.0;
      fIsInt[iChannel][iEv] = kFALSE;
      fIsBB[iChannel][iEv]  = kFALSE;
      fIsBG[iChannel][iEv]  = kFALSE;
    }
    fTime[iChannel]  = 0.0;
    fWidth[iChannel] = 0.0;
  }
  
}
 AliESDVZEROfriend.cxx:1
 AliESDVZEROfriend.cxx:2
 AliESDVZEROfriend.cxx:3
 AliESDVZEROfriend.cxx:4
 AliESDVZEROfriend.cxx:5
 AliESDVZEROfriend.cxx:6
 AliESDVZEROfriend.cxx:7
 AliESDVZEROfriend.cxx:8
 AliESDVZEROfriend.cxx:9
 AliESDVZEROfriend.cxx:10
 AliESDVZEROfriend.cxx:11
 AliESDVZEROfriend.cxx:12
 AliESDVZEROfriend.cxx:13
 AliESDVZEROfriend.cxx:14
 AliESDVZEROfriend.cxx:15
 AliESDVZEROfriend.cxx:16
 AliESDVZEROfriend.cxx:17
 AliESDVZEROfriend.cxx:18
 AliESDVZEROfriend.cxx:19
 AliESDVZEROfriend.cxx:20
 AliESDVZEROfriend.cxx:21
 AliESDVZEROfriend.cxx:22
 AliESDVZEROfriend.cxx:23
 AliESDVZEROfriend.cxx:24
 AliESDVZEROfriend.cxx:25
 AliESDVZEROfriend.cxx:26
 AliESDVZEROfriend.cxx:27
 AliESDVZEROfriend.cxx:28
 AliESDVZEROfriend.cxx:29
 AliESDVZEROfriend.cxx:30
 AliESDVZEROfriend.cxx:31
 AliESDVZEROfriend.cxx:32
 AliESDVZEROfriend.cxx:33
 AliESDVZEROfriend.cxx:34
 AliESDVZEROfriend.cxx:35
 AliESDVZEROfriend.cxx:36
 AliESDVZEROfriend.cxx:37
 AliESDVZEROfriend.cxx:38
 AliESDVZEROfriend.cxx:39
 AliESDVZEROfriend.cxx:40
 AliESDVZEROfriend.cxx:41
 AliESDVZEROfriend.cxx:42
 AliESDVZEROfriend.cxx:43
 AliESDVZEROfriend.cxx:44
 AliESDVZEROfriend.cxx:45
 AliESDVZEROfriend.cxx:46
 AliESDVZEROfriend.cxx:47
 AliESDVZEROfriend.cxx:48
 AliESDVZEROfriend.cxx:49
 AliESDVZEROfriend.cxx:50
 AliESDVZEROfriend.cxx:51
 AliESDVZEROfriend.cxx:52
 AliESDVZEROfriend.cxx:53
 AliESDVZEROfriend.cxx:54
 AliESDVZEROfriend.cxx:55
 AliESDVZEROfriend.cxx:56
 AliESDVZEROfriend.cxx:57
 AliESDVZEROfriend.cxx:58
 AliESDVZEROfriend.cxx:59
 AliESDVZEROfriend.cxx:60
 AliESDVZEROfriend.cxx:61
 AliESDVZEROfriend.cxx:62
 AliESDVZEROfriend.cxx:63
 AliESDVZEROfriend.cxx:64
 AliESDVZEROfriend.cxx:65
 AliESDVZEROfriend.cxx:66
 AliESDVZEROfriend.cxx:67
 AliESDVZEROfriend.cxx:68
 AliESDVZEROfriend.cxx:69
 AliESDVZEROfriend.cxx:70
 AliESDVZEROfriend.cxx:71
 AliESDVZEROfriend.cxx:72
 AliESDVZEROfriend.cxx:73
 AliESDVZEROfriend.cxx:74
 AliESDVZEROfriend.cxx:75
 AliESDVZEROfriend.cxx:76
 AliESDVZEROfriend.cxx:77
 AliESDVZEROfriend.cxx:78
 AliESDVZEROfriend.cxx:79
 AliESDVZEROfriend.cxx:80
 AliESDVZEROfriend.cxx:81
 AliESDVZEROfriend.cxx:82
 AliESDVZEROfriend.cxx:83
 AliESDVZEROfriend.cxx:84
 AliESDVZEROfriend.cxx:85
 AliESDVZEROfriend.cxx:86
 AliESDVZEROfriend.cxx:87
 AliESDVZEROfriend.cxx:88
 AliESDVZEROfriend.cxx:89
 AliESDVZEROfriend.cxx:90
 AliESDVZEROfriend.cxx:91
 AliESDVZEROfriend.cxx:92
 AliESDVZEROfriend.cxx:93
 AliESDVZEROfriend.cxx:94
 AliESDVZEROfriend.cxx:95
 AliESDVZEROfriend.cxx:96
 AliESDVZEROfriend.cxx:97
 AliESDVZEROfriend.cxx:98
 AliESDVZEROfriend.cxx:99
 AliESDVZEROfriend.cxx:100
 AliESDVZEROfriend.cxx:101
 AliESDVZEROfriend.cxx:102
 AliESDVZEROfriend.cxx:103
 AliESDVZEROfriend.cxx:104
 AliESDVZEROfriend.cxx:105
 AliESDVZEROfriend.cxx:106
 AliESDVZEROfriend.cxx:107
 AliESDVZEROfriend.cxx:108
 AliESDVZEROfriend.cxx:109
 AliESDVZEROfriend.cxx:110
 AliESDVZEROfriend.cxx:111
 AliESDVZEROfriend.cxx:112
 AliESDVZEROfriend.cxx:113
 AliESDVZEROfriend.cxx:114
 AliESDVZEROfriend.cxx:115
 AliESDVZEROfriend.cxx:116
 AliESDVZEROfriend.cxx:117
 AliESDVZEROfriend.cxx:118
 AliESDVZEROfriend.cxx:119
 AliESDVZEROfriend.cxx:120
 AliESDVZEROfriend.cxx:121
 AliESDVZEROfriend.cxx:122
 AliESDVZEROfriend.cxx:123
 AliESDVZEROfriend.cxx:124
 AliESDVZEROfriend.cxx:125
 AliESDVZEROfriend.cxx:126
 AliESDVZEROfriend.cxx:127
 AliESDVZEROfriend.cxx:128
 AliESDVZEROfriend.cxx:129
 AliESDVZEROfriend.cxx:130
 AliESDVZEROfriend.cxx:131
 AliESDVZEROfriend.cxx:132
 AliESDVZEROfriend.cxx:133
 AliESDVZEROfriend.cxx:134
 AliESDVZEROfriend.cxx:135
 AliESDVZEROfriend.cxx:136
 AliESDVZEROfriend.cxx:137
 AliESDVZEROfriend.cxx:138
 AliESDVZEROfriend.cxx:139
 AliESDVZEROfriend.cxx:140
 AliESDVZEROfriend.cxx:141
 AliESDVZEROfriend.cxx:142
 AliESDVZEROfriend.cxx:143
 AliESDVZEROfriend.cxx:144
 AliESDVZEROfriend.cxx:145
 AliESDVZEROfriend.cxx:146
 AliESDVZEROfriend.cxx:147
 AliESDVZEROfriend.cxx:148
 AliESDVZEROfriend.cxx:149
 AliESDVZEROfriend.cxx:150
 AliESDVZEROfriend.cxx:151
 AliESDVZEROfriend.cxx:152
 AliESDVZEROfriend.cxx:153
 AliESDVZEROfriend.cxx:154
 AliESDVZEROfriend.cxx:155
 AliESDVZEROfriend.cxx:156
 AliESDVZEROfriend.cxx:157
 AliESDVZEROfriend.cxx:158
 AliESDVZEROfriend.cxx:159
 AliESDVZEROfriend.cxx:160
 AliESDVZEROfriend.cxx:161
 AliESDVZEROfriend.cxx:162
 AliESDVZEROfriend.cxx:163
 AliESDVZEROfriend.cxx:164
 AliESDVZEROfriend.cxx:165
 AliESDVZEROfriend.cxx:166
 AliESDVZEROfriend.cxx:167
 AliESDVZEROfriend.cxx:168