22 #include "Riostream.h" 56 AliDebug(1,Form(
"this=%p default ctor",
this));
62 Int_t fillWithValue, Int_t packingFactor)
64 fDimension(dimension),
67 fPackingFactor(packingFactor),
80 for ( Int_t i = 0; i <
fN; ++i )
99 AliDebug(1,Form(
"this=%p copy ctor",
this));
128 const TObject& o =
static_cast<const TObject&
>(*this);
140 for ( Int_t i = 0; i <
fN; ++i )
181 cout <<
"AliMUONCalibParamNI - Size=" <<
Size()
183 <<
" Id=(" <<
ID0() <<
"," <<
ID1() <<
")";
191 if ( sopt.Contains(
"FULL") )
193 for ( Int_t i = 0; i <
Size(); ++i )
195 cout << Form(
"CH %3d",i);
196 for ( Int_t j = 0; j <
Dimension(); ++j )
203 cout << Form(
" (%d,%d) (0x%x,0x%x)",m,c,m,c);
207 cout << Form(
" %d (0x%x)",v,v);
213 if ( sopt.Contains(
"MEAN") )
216 sscanf(sopt.Data(),
"MEAN%d",&j);
223 for ( Int_t i = 0; i <
Size(); ++i )
231 if ( n > 1 ) sigma = TMath::Sqrt( (v2-n*mean*mean)/(n-1) );
232 cout << Form(
" Mean(j=%d)=%e Sigma(j=%d)=%e",j,mean,j,sigma) << endl;
243 Int_t ix =
Index(i,j);
247 AliError(Form(
"Invalid (i,j)=(%d,%d) max allowed is (%d,%d)",
271 AliWarning(
"Float will be rounded to be stored...");
281 AliWarning(
"Float will be rounded to be stored...");
292 Int_t ix =
Index(i,j);
296 AliError(Form(
"Invalid (i,j)=(%d,%d) max allowed is (%d,%d)",
Int_t IndexFast(Int_t i, Int_t j) const
virtual void SetValueAsFloatFast(Int_t i, Int_t j, Float_t value)
virtual Float_t ValueAsFloat(Int_t i, Int_t j=0) const
Int_t fDimension
dimension of this object
#define AliWarning(message)
Container of calibration values for a given number of channels.
virtual Int_t Size() const
Return size - the number of float pair we hold.
Implementation of AliMUONVCalibParam for tuples of ints.
virtual Int_t ValueAsIntFast(Int_t i, Int_t j=0) const
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 Int_t ID0() const
First id of this object.
virtual Int_t ID1() const
Second id of this object (might not be required)
Int_t * fValues
The values array.
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 Print(Option_t *opt="") const
virtual Bool_t UnpackValue(Int_t value, Int_t &a, Int_t &b) const
Unpack a value into a couple (a,b). Returns false if IsPacked()==kFALSE.
virtual Bool_t IsPacked() const
whether or not the value we store are packed, e.g. as v = a*cste + b
virtual Int_t ValueAsInt(Int_t i, Int_t j=0) const
virtual ~AliMUONCalibParamNI()
#define AliDebug(logLevel, message)
Int_t Index(Int_t i, Int_t j) const
void CopyTo(AliMUONCalibParamNI &destination) const
virtual Bool_t PackValues(Int_t a, Int_t b, Int_t &packedValue) const
Pack (a,b) as a single int. Returns false if IsPacked()==kFALSE.
Int_t fPackingFactor
packing factor, i.e. value = a*fPackingFactor + b
Int_t fSize
The number of float pair we hold.
virtual Int_t Dimension() const
Return dimension.
#define AliError(message)
virtual void SetValueAsIntFast(Int_t i, Int_t j, Int_t value)
Same as above but w/o bound checkings.
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 fN
The total number of floats we hold (fDimension*fSize)
AliMUONCalibParamNI & operator=(const AliMUONCalibParamNI &other)