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.                  *
 **************************************************************************/

/* $Id: AliZDCTowerCalib.cxx 22045 2007-11-08 13:31:24Z coppedis $ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// class for ZDC calibration      					     //
// -> values for energy calibration and relative sector calibration          //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include "AliZDCTowerCalib.h"

ClassImp(AliZDCTowerCalib)

//________________________________________________________________
AliZDCTowerCalib::AliZDCTowerCalib():
TNamed()
{
  Reset();
}

//________________________________________________________________
AliZDCTowerCalib::AliZDCTowerCalib(const char* name):
TNamed()
{
  // Constructor
  TString namst = "Calib_";
  namst += name;
  SetName(namst.Data());
  SetTitle(namst.Data());
  Reset();
  for(Int_t i=0; i<5; i++){
    fZN1EqualCoeff[i] = 0.;
    fZP1EqualCoeff[i] = 0.;
    fZN2EqualCoeff[i] = 0.;
    fZP2EqualCoeff[i] = 0.;
  }
}

//________________________________________________________________
AliZDCTowerCalib::AliZDCTowerCalib(const AliZDCTowerCalib& calibda) :
  TNamed(calibda)
{
  // Copy constructor
  SetName(calibda.GetName());
  SetTitle(calibda.GetName());
  Reset();
  for(int i=0; i<5; i++){
     fZN1EqualCoeff[i] =  calibda.GetZN1EqualCoeff(i);
     fZP1EqualCoeff[i] =  calibda.GetZP1EqualCoeff(i);
     fZN2EqualCoeff[i] =  calibda.GetZN2EqualCoeff(i);
     fZP2EqualCoeff[i] =  calibda.GetZP2EqualCoeff(i);
  }
}

//________________________________________________________________
AliZDCTowerCalib &AliZDCTowerCalib::operator =(const AliZDCTowerCalib& calibda)
{
// assignment operator
  SetName(calibda.GetName());
  SetTitle(calibda.GetName());
  Reset();
  for(int i=0; i<5; i++){
     fZN1EqualCoeff[i] =  calibda.GetZN1EqualCoeff(i);
     fZP1EqualCoeff[i] =  calibda.GetZP1EqualCoeff(i);
     fZN2EqualCoeff[i] =  calibda.GetZN2EqualCoeff(i);
     fZP2EqualCoeff[i] =  calibda.GetZP2EqualCoeff(i);
  }
  
  return *this;
}

//________________________________________________________________
AliZDCTowerCalib::~AliZDCTowerCalib()
{
}

//________________________________________________________________
void AliZDCTowerCalib::Reset()
{
  // Reset
  memset(fZN1EqualCoeff,0,5*sizeof(Float_t));
  memset(fZP1EqualCoeff,0,5*sizeof(Float_t));
  memset(fZN2EqualCoeff,0,5*sizeof(Float_t));
  memset(fZP2EqualCoeff,0,5*sizeof(Float_t));
}                                                                                       


//________________________________________________________________
void  AliZDCTowerCalib::Print(Option_t *) const
{
   // Printing of calibration object
   printf("\n\n ####### Equalization coefficients ####### \n");
   printf("  ZN1 -> %1.2f %1.2f %1.2f %1.2f %1.2f  \n",
    fZN1EqualCoeff[0],fZN1EqualCoeff[1],fZN1EqualCoeff[2],fZN1EqualCoeff[3],fZN1EqualCoeff[4]);
   printf("  ZP1 -> %1.2f %1.2f %1.2f %1.2f %1.2f  \n",
    fZP1EqualCoeff[0],fZP1EqualCoeff[1],fZP1EqualCoeff[2],fZP1EqualCoeff[3],fZP1EqualCoeff[4]);
   printf("  ZN2 -> %1.2f %1.2f %1.2f %1.2f %1.2f  \n",
    fZN2EqualCoeff[0],fZN2EqualCoeff[1],fZN2EqualCoeff[2],fZN2EqualCoeff[3],fZN2EqualCoeff[4]);
   printf("  ZP2 -> %1.2f %1.2f %1.2f %1.2f %1.2f  \n",
    fZP2EqualCoeff[0],fZP2EqualCoeff[1],fZP2EqualCoeff[2],fZP2EqualCoeff[3],fZP2EqualCoeff[4]);

} 

//________________________________________________________________
void AliZDCTowerCalib::SetZN1EqualCoeff(Float_t* EqualCoeff)
{
  // Set ZN1 equalization coefficients
  if(EqualCoeff) for(int t=0; t<5; t++) fZN1EqualCoeff[t] = EqualCoeff[t];
  else for(int t=0; t<5; t++) fZN1EqualCoeff[t] = 1.;
}
 
//________________________________________________________________
void AliZDCTowerCalib::SetZP1EqualCoeff(Float_t* EqualCoeff)
{
  // Set ZP1 equalization coefficients
  if(EqualCoeff) for(int t=0; t<5; t++) fZP1EqualCoeff[t] = EqualCoeff[t];
  else for(int t=0; t<5; t++) fZP1EqualCoeff[t] = 1.;
}
//________________________________________________________________
void AliZDCTowerCalib::SetZN2EqualCoeff(Float_t* EqualCoeff)
{
  // Set ZN2 equalization coefficients
  if(EqualCoeff) for(int t=0; t<5; t++) fZN2EqualCoeff[t] = EqualCoeff[t];
  else for(int t=0; t<5; t++) fZN2EqualCoeff[t] = 1.;
}
 
//________________________________________________________________
void AliZDCTowerCalib::SetZP2EqualCoeff(Float_t* EqualCoeff)
{
  // Set ZN1 equalization coefficients
  if(EqualCoeff) for(int t=0; t<5; t++) fZP2EqualCoeff[t] = EqualCoeff[t];
  else for(int t=0; t<5; t++) fZP2EqualCoeff[t] = 1.;
}
 
 AliZDCTowerCalib.cxx:1
 AliZDCTowerCalib.cxx:2
 AliZDCTowerCalib.cxx:3
 AliZDCTowerCalib.cxx:4
 AliZDCTowerCalib.cxx:5
 AliZDCTowerCalib.cxx:6
 AliZDCTowerCalib.cxx:7
 AliZDCTowerCalib.cxx:8
 AliZDCTowerCalib.cxx:9
 AliZDCTowerCalib.cxx:10
 AliZDCTowerCalib.cxx:11
 AliZDCTowerCalib.cxx:12
 AliZDCTowerCalib.cxx:13
 AliZDCTowerCalib.cxx:14
 AliZDCTowerCalib.cxx:15
 AliZDCTowerCalib.cxx:16
 AliZDCTowerCalib.cxx:17
 AliZDCTowerCalib.cxx:18
 AliZDCTowerCalib.cxx:19
 AliZDCTowerCalib.cxx:20
 AliZDCTowerCalib.cxx:21
 AliZDCTowerCalib.cxx:22
 AliZDCTowerCalib.cxx:23
 AliZDCTowerCalib.cxx:24
 AliZDCTowerCalib.cxx:25
 AliZDCTowerCalib.cxx:26
 AliZDCTowerCalib.cxx:27
 AliZDCTowerCalib.cxx:28
 AliZDCTowerCalib.cxx:29
 AliZDCTowerCalib.cxx:30
 AliZDCTowerCalib.cxx:31
 AliZDCTowerCalib.cxx:32
 AliZDCTowerCalib.cxx:33
 AliZDCTowerCalib.cxx:34
 AliZDCTowerCalib.cxx:35
 AliZDCTowerCalib.cxx:36
 AliZDCTowerCalib.cxx:37
 AliZDCTowerCalib.cxx:38
 AliZDCTowerCalib.cxx:39
 AliZDCTowerCalib.cxx:40
 AliZDCTowerCalib.cxx:41
 AliZDCTowerCalib.cxx:42
 AliZDCTowerCalib.cxx:43
 AliZDCTowerCalib.cxx:44
 AliZDCTowerCalib.cxx:45
 AliZDCTowerCalib.cxx:46
 AliZDCTowerCalib.cxx:47
 AliZDCTowerCalib.cxx:48
 AliZDCTowerCalib.cxx:49
 AliZDCTowerCalib.cxx:50
 AliZDCTowerCalib.cxx:51
 AliZDCTowerCalib.cxx:52
 AliZDCTowerCalib.cxx:53
 AliZDCTowerCalib.cxx:54
 AliZDCTowerCalib.cxx:55
 AliZDCTowerCalib.cxx:56
 AliZDCTowerCalib.cxx:57
 AliZDCTowerCalib.cxx:58
 AliZDCTowerCalib.cxx:59
 AliZDCTowerCalib.cxx:60
 AliZDCTowerCalib.cxx:61
 AliZDCTowerCalib.cxx:62
 AliZDCTowerCalib.cxx:63
 AliZDCTowerCalib.cxx:64
 AliZDCTowerCalib.cxx:65
 AliZDCTowerCalib.cxx:66
 AliZDCTowerCalib.cxx:67
 AliZDCTowerCalib.cxx:68
 AliZDCTowerCalib.cxx:69
 AliZDCTowerCalib.cxx:70
 AliZDCTowerCalib.cxx:71
 AliZDCTowerCalib.cxx:72
 AliZDCTowerCalib.cxx:73
 AliZDCTowerCalib.cxx:74
 AliZDCTowerCalib.cxx:75
 AliZDCTowerCalib.cxx:76
 AliZDCTowerCalib.cxx:77
 AliZDCTowerCalib.cxx:78
 AliZDCTowerCalib.cxx:79
 AliZDCTowerCalib.cxx:80
 AliZDCTowerCalib.cxx:81
 AliZDCTowerCalib.cxx:82
 AliZDCTowerCalib.cxx:83
 AliZDCTowerCalib.cxx:84
 AliZDCTowerCalib.cxx:85
 AliZDCTowerCalib.cxx:86
 AliZDCTowerCalib.cxx:87
 AliZDCTowerCalib.cxx:88
 AliZDCTowerCalib.cxx:89
 AliZDCTowerCalib.cxx:90
 AliZDCTowerCalib.cxx:91
 AliZDCTowerCalib.cxx:92
 AliZDCTowerCalib.cxx:93
 AliZDCTowerCalib.cxx:94
 AliZDCTowerCalib.cxx:95
 AliZDCTowerCalib.cxx:96
 AliZDCTowerCalib.cxx:97
 AliZDCTowerCalib.cxx:98
 AliZDCTowerCalib.cxx:99
 AliZDCTowerCalib.cxx:100
 AliZDCTowerCalib.cxx:101
 AliZDCTowerCalib.cxx:102
 AliZDCTowerCalib.cxx:103
 AliZDCTowerCalib.cxx:104
 AliZDCTowerCalib.cxx:105
 AliZDCTowerCalib.cxx:106
 AliZDCTowerCalib.cxx:107
 AliZDCTowerCalib.cxx:108
 AliZDCTowerCalib.cxx:109
 AliZDCTowerCalib.cxx:110
 AliZDCTowerCalib.cxx:111
 AliZDCTowerCalib.cxx:112
 AliZDCTowerCalib.cxx:113
 AliZDCTowerCalib.cxx:114
 AliZDCTowerCalib.cxx:115
 AliZDCTowerCalib.cxx:116
 AliZDCTowerCalib.cxx:117
 AliZDCTowerCalib.cxx:118
 AliZDCTowerCalib.cxx:119
 AliZDCTowerCalib.cxx:120
 AliZDCTowerCalib.cxx:121
 AliZDCTowerCalib.cxx:122
 AliZDCTowerCalib.cxx:123
 AliZDCTowerCalib.cxx:124
 AliZDCTowerCalib.cxx:125
 AliZDCTowerCalib.cxx:126
 AliZDCTowerCalib.cxx:127
 AliZDCTowerCalib.cxx:128
 AliZDCTowerCalib.cxx:129
 AliZDCTowerCalib.cxx:130
 AliZDCTowerCalib.cxx:131
 AliZDCTowerCalib.cxx:132
 AliZDCTowerCalib.cxx:133
 AliZDCTowerCalib.cxx:134
 AliZDCTowerCalib.cxx:135
 AliZDCTowerCalib.cxx:136
 AliZDCTowerCalib.cxx:137
 AliZDCTowerCalib.cxx:138
 AliZDCTowerCalib.cxx:139
 AliZDCTowerCalib.cxx:140
 AliZDCTowerCalib.cxx:141
 AliZDCTowerCalib.cxx:142
 AliZDCTowerCalib.cxx:143
 AliZDCTowerCalib.cxx:144
 AliZDCTowerCalib.cxx:145
 AliZDCTowerCalib.cxx:146
 AliZDCTowerCalib.cxx:147
 AliZDCTowerCalib.cxx:148
 AliZDCTowerCalib.cxx:149