22 #include "Riostream.h"
54 Double_t fillWithValue)
56 fDimension(dimension),
68 for ( Int_t i = 0; i <
fN; ++i )
113 TObject::Copy(destination);
123 for ( Int_t i = 0; i <
fN; ++i )
164 cout << Form(
"AliMUONCalibParamND Id=(%d,%d) Size=%d Dimension=%d",
ID0(),
166 if ( sopt.Contains(
"FULL") )
168 for ( Int_t i = 0; i <
Size(); ++i )
170 cout << Form(
"CH %3d",i);
171 for ( Int_t j = 0; j <
Dimension(); ++j )
178 if ( sopt.Contains(
"MEAN") )
181 sscanf(sopt.Data(),
"MEAN%d",&j);
188 for ( Int_t i = 0; i <
Size(); ++i )
196 if ( n > 1 ) sigma = TMath::Sqrt( (v2-n*mean*mean)/(n-1) );
197 cout << Form(
" Mean(j=%d)=%g Sigma(j=%d)=%g",j,mean,j,sigma) << endl;
208 Int_t ix =
Index(i,j);
212 AliError(Form(
"Invalid (i,j)=(%d,%d) max allowed is (%d,%d)",
270 Int_t ix =
Index(i,j);
274 AliError(Form(
"Invalid (i,j)=(%d,%d) max allowed is (%d,%d)",
316 return TMath::Nint(v);
326 return TMath::Nint(v);
virtual Int_t Size() const
Return size - the number of double tuples we hold.
void CopyTo(AliMUONCalibParamND &destination) const
virtual void SetValueAsInt(Int_t i, Int_t j, Int_t value)
Set one value, for channel i, dimension j. Consider value is an integer.
virtual void SetValueAsIntFast(Int_t i, Int_t j, Int_t value)
Same as above but w/o bound checkings.
Int_t fSize
The number of double tuples we hold.
virtual ~AliMUONCalibParamND()
Int_t IndexFast(Int_t i, Int_t j) const
Int_t fN
The total number of floats we hold (fDimension*fSize)
virtual Double_t ValueAsDoubleFast(Int_t i, Int_t j=0) const
virtual void SetValueAsDouble(Int_t i, Int_t j, Double_t value)
Int_t fDimension
dimension of this object
Container of calibration values for a given number of channels.
virtual void SetValueAsDoubleFast(Int_t i, Int_t j, Double_t value)
Same as above but w/o bound checking.
virtual Float_t ValueAsFloatFast(Int_t i, Int_t j=0) const
Same as above but without bound checking.
virtual Double_t ValueAsDouble(Int_t i, Int_t j=0) const
virtual Int_t ID0() const
First id of this object.
virtual Int_t ID1() const
Second id of this object (might not be required)
Implementation of AliMUONVCalibParam for tuples of double.
virtual void SetValueAsFloatFast(Int_t i, Int_t j, Float_t value)
virtual Int_t ValueAsIntFast(Int_t i, Int_t j=0) const
Same as above but w/o bound checking.
virtual void SetValueAsFloat(Int_t i, Int_t j, Float_t value)
Set one value, for channel i, dimension j. Consider value is a float.
Int_t Index(Int_t i, Int_t j) const
virtual Int_t Dimension() const
Return dimension.
Double_t * fValues
The values array.
virtual void Print(Option_t *opt="") const
virtual Int_t ValueAsInt(Int_t i, Int_t j=0) const
AliMUONCalibParamND & operator=(const AliMUONCalibParamND &other)
virtual Float_t ValueAsFloat(Int_t i, Int_t j=0) const