#include "AliZDCTowerCalib.h"
ClassImp(AliZDCTowerCalib)
AliZDCTowerCalib::AliZDCTowerCalib():
TNamed()
{
Reset();
}
AliZDCTowerCalib::AliZDCTowerCalib(const char* name):
TNamed()
{
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)
{
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)
{
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()
{
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
{
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)
{
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)
{
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)
{
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)
{
if(EqualCoeff) for(int t=0; t<5; t++) fZP2EqualCoeff[t] = EqualCoeff[t];
else for(int t=0; t<5; t++) fZP2EqualCoeff[t] = 1.;
}