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 : /* $Id: AliZDCTowerCalib.cxx 22045 2007-11-08 13:31:24Z coppedis $ */
17 :
18 : ///////////////////////////////////////////////////////////////////////////////
19 : // //
20 : // class for ZDC calibration //
21 : // -> values for energy calibration and relative sector calibration //
22 : // //
23 : ///////////////////////////////////////////////////////////////////////////////
24 :
25 : #include "AliZDCTowerCalib.h"
26 :
27 12 : ClassImp(AliZDCTowerCalib)
28 :
29 : //________________________________________________________________
30 : AliZDCTowerCalib::AliZDCTowerCalib():
31 2 : TNamed()
32 10 : {
33 2 : Reset();
34 4 : }
35 :
36 : //________________________________________________________________
37 : AliZDCTowerCalib::AliZDCTowerCalib(const char* name):
38 0 : TNamed()
39 0 : {
40 : // Constructor
41 0 : TString namst = "Calib_";
42 0 : namst += name;
43 0 : SetName(namst.Data());
44 0 : SetTitle(namst.Data());
45 0 : Reset();
46 0 : for(Int_t i=0; i<5; i++){
47 0 : fZN1EqualCoeff[i] = 0.;
48 0 : fZP1EqualCoeff[i] = 0.;
49 0 : fZN2EqualCoeff[i] = 0.;
50 0 : fZP2EqualCoeff[i] = 0.;
51 : }
52 0 : }
53 :
54 : //________________________________________________________________
55 : AliZDCTowerCalib::AliZDCTowerCalib(const AliZDCTowerCalib& calibda) :
56 0 : TNamed(calibda)
57 0 : {
58 : // Copy constructor
59 0 : SetName(calibda.GetName());
60 0 : SetTitle(calibda.GetName());
61 0 : Reset();
62 0 : for(int i=0; i<5; i++){
63 0 : fZN1EqualCoeff[i] = calibda.GetZN1EqualCoeff(i);
64 0 : fZP1EqualCoeff[i] = calibda.GetZP1EqualCoeff(i);
65 0 : fZN2EqualCoeff[i] = calibda.GetZN2EqualCoeff(i);
66 0 : fZP2EqualCoeff[i] = calibda.GetZP2EqualCoeff(i);
67 : }
68 0 : }
69 :
70 : //________________________________________________________________
71 : AliZDCTowerCalib &AliZDCTowerCalib::operator =(const AliZDCTowerCalib& calibda)
72 : {
73 : // assignment operator
74 0 : SetName(calibda.GetName());
75 0 : SetTitle(calibda.GetName());
76 0 : Reset();
77 0 : for(int i=0; i<5; i++){
78 0 : fZN1EqualCoeff[i] = calibda.GetZN1EqualCoeff(i);
79 0 : fZP1EqualCoeff[i] = calibda.GetZP1EqualCoeff(i);
80 0 : fZN2EqualCoeff[i] = calibda.GetZN2EqualCoeff(i);
81 0 : fZP2EqualCoeff[i] = calibda.GetZP2EqualCoeff(i);
82 : }
83 :
84 0 : return *this;
85 : }
86 :
87 : //________________________________________________________________
88 : AliZDCTowerCalib::~AliZDCTowerCalib()
89 0 : {
90 0 : }
91 :
92 : //________________________________________________________________
93 : void AliZDCTowerCalib::Reset()
94 : {
95 : // Reset
96 4 : memset(fZN1EqualCoeff,0,5*sizeof(Float_t));
97 2 : memset(fZP1EqualCoeff,0,5*sizeof(Float_t));
98 2 : memset(fZN2EqualCoeff,0,5*sizeof(Float_t));
99 2 : memset(fZP2EqualCoeff,0,5*sizeof(Float_t));
100 2 : }
101 :
102 :
103 : //________________________________________________________________
104 : void AliZDCTowerCalib::Print(Option_t *) const
105 : {
106 : // Printing of calibration object
107 0 : printf("\n\n ####### Equalization coefficients ####### \n");
108 0 : printf(" ZN1 -> %1.2f %1.2f %1.2f %1.2f %1.2f \n",
109 0 : fZN1EqualCoeff[0],fZN1EqualCoeff[1],fZN1EqualCoeff[2],fZN1EqualCoeff[3],fZN1EqualCoeff[4]);
110 0 : printf(" ZP1 -> %1.2f %1.2f %1.2f %1.2f %1.2f \n",
111 0 : fZP1EqualCoeff[0],fZP1EqualCoeff[1],fZP1EqualCoeff[2],fZP1EqualCoeff[3],fZP1EqualCoeff[4]);
112 0 : printf(" ZN2 -> %1.2f %1.2f %1.2f %1.2f %1.2f \n",
113 0 : fZN2EqualCoeff[0],fZN2EqualCoeff[1],fZN2EqualCoeff[2],fZN2EqualCoeff[3],fZN2EqualCoeff[4]);
114 0 : printf(" ZP2 -> %1.2f %1.2f %1.2f %1.2f %1.2f \n",
115 0 : fZP2EqualCoeff[0],fZP2EqualCoeff[1],fZP2EqualCoeff[2],fZP2EqualCoeff[3],fZP2EqualCoeff[4]);
116 :
117 0 : }
118 :
119 : //________________________________________________________________
120 : void AliZDCTowerCalib::SetZN1EqualCoeff(Float_t* EqualCoeff)
121 : {
122 : // Set ZN1 equalization coefficients
123 0 : if(EqualCoeff) for(int t=0; t<5; t++) fZN1EqualCoeff[t] = EqualCoeff[t];
124 0 : else for(int t=0; t<5; t++) fZN1EqualCoeff[t] = 1.;
125 0 : }
126 :
127 : //________________________________________________________________
128 : void AliZDCTowerCalib::SetZP1EqualCoeff(Float_t* EqualCoeff)
129 : {
130 : // Set ZP1 equalization coefficients
131 0 : if(EqualCoeff) for(int t=0; t<5; t++) fZP1EqualCoeff[t] = EqualCoeff[t];
132 0 : else for(int t=0; t<5; t++) fZP1EqualCoeff[t] = 1.;
133 0 : }
134 : //________________________________________________________________
135 : void AliZDCTowerCalib::SetZN2EqualCoeff(Float_t* EqualCoeff)
136 : {
137 : // Set ZN2 equalization coefficients
138 0 : if(EqualCoeff) for(int t=0; t<5; t++) fZN2EqualCoeff[t] = EqualCoeff[t];
139 0 : else for(int t=0; t<5; t++) fZN2EqualCoeff[t] = 1.;
140 0 : }
141 :
142 : //________________________________________________________________
143 : void AliZDCTowerCalib::SetZP2EqualCoeff(Float_t* EqualCoeff)
144 : {
145 : // Set ZN1 equalization coefficients
146 0 : if(EqualCoeff) for(int t=0; t<5; t++) fZP2EqualCoeff[t] = EqualCoeff[t];
147 0 : else for(int t=0; t<5; t++) fZP2EqualCoeff[t] = 1.;
148 0 : }
149 :
|