AliRoot Core  edcc906 (edcc906)
AliMUONCalibParamNI Class Reference

Implementation of AliMUONVCalibParam for tuples of ints. More...

#include <AliMUONCalibParamNI.h>

Inheritance diagram for AliMUONCalibParamNI:

Public Member Functions

 AliMUONCalibParamNI ()
 
 AliMUONCalibParamNI (Int_t dimension, Int_t theSize, Int_t id0, Int_t id1, Int_t fillWithValue=0, Int_t packingValue=0)
 
 AliMUONCalibParamNI (const AliMUONCalibParamNI &other)
 
AliMUONCalibParamNIoperator= (const AliMUONCalibParamNI &other)
 
virtual ~AliMUONCalibParamNI ()
 
virtual TObject * Clone (const char *="") const
 Own clone methods (as the default TObject::Clone turned out to be pretty slow !) More...
 
virtual Int_t Dimension () const
 Return dimension. More...
 
virtual void Print (Option_t *opt="") const
 
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. More...
 
virtual void SetValueAsFloatFast (Int_t i, Int_t j, Float_t value)
 
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. More...
 
virtual void SetValueAsIntFast (Int_t i, Int_t j, Int_t value)
 Same as above but w/o bound checkings. More...
 
virtual Int_t Size () const
 Return size - the number of float pair we hold. More...
 
virtual Float_t ValueAsFloat (Int_t i, Int_t j=0) const
 
virtual Float_t ValueAsFloatFast (Int_t i, Int_t j=0) const
 Same as above but without bound checking. More...
 
virtual Int_t ValueAsInt (Int_t i, Int_t j=0) const
 
virtual Int_t ValueAsIntFast (Int_t i, Int_t j=0) const
 Same as above but w/o bound checking. More...
 
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. More...
 
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. More...
 
virtual Bool_t IsPacked () const
 whether or not the value we store are packed, e.g. as v = a*cste + b More...
 
- Public Member Functions inherited from AliMUONVCalibParam
 AliMUONVCalibParam ()
 
 AliMUONVCalibParam (Int_t id0, Int_t id1)
 
virtual ~AliMUONVCalibParam ()
 
virtual const char * GetName () const
 
virtual Bool_t IsSortable () const
 Advertise that we can be sorted in TCollections. More...
 
virtual Int_t ID0 () const
 First id of this object. More...
 
virtual Int_t ID1 () const
 Second id of this object (might not be required) More...
 
virtual Int_t Compare (const TObject *object) const
 method for sorting pedestal values ordered by ID0 and ID1 More...
 
virtual void SetValueAsDouble (Int_t i, Int_t j, Double_t value)
 
virtual void SetValueAsDoubleFast (Int_t i, Int_t j, Double_t value)
 Same as above but w/o bound checking. More...
 
virtual Bool_t IsDoublePrecision () const
 Whether we can store double precision values. More...
 
virtual Double_t ValueAsDouble (Int_t i, Int_t j=0) const
 
virtual Double_t ValueAsDoubleFast (Int_t i, Int_t j=0) const
 

Private Member Functions

void CopyTo (AliMUONCalibParamNI &destination) const
 
Int_t Index (Int_t i, Int_t j) const
 
Int_t IndexFast (Int_t i, Int_t j) const
 

Private Attributes

Int_t fDimension
 dimension of this object More...
 
Int_t fSize
 The number of float pair we hold. More...
 
Int_t fN
 The total number of floats we hold (fDimension*fSize) More...
 
Int_t fPackingFactor
 packing factor, i.e. value = a*fPackingFactor + b More...
 
Int_t * fValues
 The values array. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from AliMUONVCalibParam
static Float_t InvalidFloatValue ()
 Return 1E38 as invalid float value. More...
 
static UInt_t BuildUniqueID (Int_t id0, Int_t id1)
 
static void DecodeUniqueID (UInt_t uniqueID, Int_t &id0, Int_t &id1)
 
- Static Protected Member Functions inherited from AliMUONVCalibParam
static Int_t ID0 (UInt_t uniqueID)
 
static Int_t ID1 (UInt_t uniqueID)
 

Detailed Description

Implementation of AliMUONVCalibParam for tuples of ints.

Handle the case of N integer parameters per channel.

Almost the same class as AliMUONCalibParamNF, but for ints. We could have played with NF to store both int and float (using casts), but for the sake of simplicity (e.g. the Print method must know whether it should print floats or ints), we decided to "duplicate" the class and use the correct type.

Author
Laurent Aphecetche

Definition at line 19 of file AliMUONCalibParamNI.h.

Constructor & Destructor Documentation

AliMUONCalibParamNI::AliMUONCalibParamNI ( )

Default constructor.

Definition at line 47 of file AliMUONCalibParamNI.cxx.

Referenced by Clone().

AliMUONCalibParamNI::AliMUONCalibParamNI ( Int_t  dimension,
Int_t  theSize,
Int_t  id0,
Int_t  id1,
Int_t  fillWithValue = 0,
Int_t  packingValue = 0 
)

Normal constructor, where theSize specifies the number of channels handled by this object, and fillWithValue the default value assigned to each channel.

Definition at line 60 of file AliMUONCalibParamNI.cxx.

AliMUONCalibParamNI::AliMUONCalibParamNI ( const AliMUONCalibParamNI other)

Copy constructor.

Definition at line 89 of file AliMUONCalibParamNI.cxx.

AliMUONCalibParamNI::~AliMUONCalibParamNI ( )
virtual

Destructor

Definition at line 114 of file AliMUONCalibParamNI.cxx.

Member Function Documentation

virtual TObject* AliMUONCalibParamNI::Clone ( const char *  = "") const
inlinevirtual

Own clone methods (as the default TObject::Clone turned out to be pretty slow !)

Definition at line 30 of file AliMUONCalibParamNI.h.

void AliMUONCalibParamNI::CopyTo ( AliMUONCalibParamNI destination) const
private

Copy *this to destination

Definition at line 124 of file AliMUONCalibParamNI.cxx.

Referenced by AliMUONCalibParamNI(), operator=(), and Size().

virtual Int_t AliMUONCalibParamNI::Dimension ( ) const
inlinevirtual

Return dimension.

Implements AliMUONVCalibParam.

Definition at line 33 of file AliMUONCalibParamNI.h.

Referenced by Index(), Print(), SetValueAsInt(), and ValueAsInt().

Int_t AliMUONCalibParamNI::Index ( Int_t  i,
Int_t  j 
) const
private

Compute the 1D index of the internal storage from the pair (i,j) Returns -1 if the (i,j) pair is invalid

Definition at line 149 of file AliMUONCalibParamNI.cxx.

Referenced by SetValueAsInt(), Size(), and ValueAsInt().

Int_t AliMUONCalibParamNI::IndexFast ( Int_t  i,
Int_t  j 
) const
private

Compute the 1D index of the internal storage from the pair (i,j)

Definition at line 163 of file AliMUONCalibParamNI.cxx.

Referenced by Index(), SetValueAsIntFast(), Size(), and ValueAsIntFast().

Bool_t AliMUONCalibParamNI::IsPacked ( ) const
virtual

whether or not the value we store are packed, e.g. as v = a*cste + b

Whether the values we store are packed or not. If false, Pack and Unpack methods will always return false and do nothing

Reimplemented from AliMUONVCalibParam.

Definition at line 358 of file AliMUONCalibParamNI.cxx.

Referenced by PackValues(), Print(), Size(), and UnpackValue().

AliMUONCalibParamNI & AliMUONCalibParamNI::operator= ( const AliMUONCalibParamNI other)

Assignment operator

Definition at line 105 of file AliMUONCalibParamNI.cxx.

Bool_t AliMUONCalibParamNI::PackValues ( Int_t  ,
Int_t  ,
Int_t &   
) const
virtual

Pack (a,b) as a single int. Returns false if IsPacked()==kFALSE.

Pack a couple (a,b) into a single value, using packingFactor Returns false if IsPacked()==false

Reimplemented from AliMUONVCalibParam.

Definition at line 346 of file AliMUONCalibParamNI.cxx.

Referenced by Size().

void AliMUONCalibParamNI::Print ( Option_t *  opt = "") const
virtual

Output this object to stdout. If opt=="full" then all channels are printed, if opt=="mean#", only the mean and sigma value are printed for j-th dimension otherwise only the general characteristics are printed.

Definition at line 172 of file AliMUONCalibParamNI.cxx.

Referenced by Dimension().

void AliMUONCalibParamNI::SetValueAsFloat ( Int_t  i,
Int_t  j,
Float_t  value 
)
virtual

Set one value, for channel i, dimension j. Consider value is a float.

Set one value as an int.

Implements AliMUONVCalibParam.

Definition at line 267 of file AliMUONCalibParamNI.cxx.

Referenced by Dimension().

void AliMUONCalibParamNI::SetValueAsFloatFast ( Int_t  i,
Int_t  j,
Float_t  value 
)
virtual

Set one value, for channel i, dimension j. Consider value is a float. Assume (i,j) are valid indices, i.e. do not check them.

Set one value as an int.

Implements AliMUONVCalibParam.

Definition at line 277 of file AliMUONCalibParamNI.cxx.

Referenced by Dimension().

void AliMUONCalibParamNI::SetValueAsInt ( Int_t  i,
Int_t  j,
Int_t  value 
)
virtual

Set one value, for channel i, dimension j. Consider value is an integer.

Set one value as a float, after checking that the indices are correct.

Implements AliMUONVCalibParam.

Definition at line 239 of file AliMUONCalibParamNI.cxx.

Referenced by Dimension(), and SetValueAsFloat().

void AliMUONCalibParamNI::SetValueAsIntFast ( Int_t  i,
Int_t  j,
Int_t  value 
)
virtual

Same as above but w/o bound checkings.

Set one value as a float, w/o checking that the indices are correct.

Implements AliMUONVCalibParam.

Definition at line 258 of file AliMUONCalibParamNI.cxx.

Referenced by Add(), Dimension(), and SetValueAsFloatFast().

virtual Int_t AliMUONCalibParamNI::Size ( ) const
inlinevirtual

Return size - the number of float pair we hold.

Implements AliMUONVCalibParam.

Definition at line 43 of file AliMUONCalibParamNI.h.

Referenced by Index(), IndexFast(), Print(), SetValueAsInt(), and ValueAsInt().

Bool_t AliMUONCalibParamNI::UnpackValue ( Int_t  ,
Int_t &  ,
Int_t &   
) const
virtual

Unpack a value into a couple (a,b). Returns false if IsPacked()==kFALSE.

Unpack single value into a couple (a,b), using packingFactor Returns false if IsPacked()==false

Reimplemented from AliMUONVCalibParam.

Definition at line 333 of file AliMUONCalibParamNI.cxx.

Referenced by Print(), and Size().

Float_t AliMUONCalibParamNI::ValueAsFloat ( Int_t  i,
Int_t  j = 0 
) const
virtual

Retrieve the value for a given (channel,dim) as a float, with bound checking on (i,j).

Return the value as a float

Implements AliMUONVCalibParam.

Definition at line 317 of file AliMUONCalibParamNI.cxx.

Referenced by Print(), and Size().

Float_t AliMUONCalibParamNI::ValueAsFloatFast ( Int_t  i,
Int_t  j = 0 
) const
virtual

Same as above but without bound checking.

Return the value as a float

Implements AliMUONVCalibParam.

Definition at line 325 of file AliMUONCalibParamNI.cxx.

Referenced by Size().

Int_t AliMUONCalibParamNI::ValueAsInt ( Int_t  i,
Int_t  j = 0 
) const
virtual

Retrieve the value for a given (channel,dim) as an integer. With bound checking.

Return the value as an int (which it is), after checking indices.

Implements AliMUONVCalibParam.

Definition at line 288 of file AliMUONCalibParamNI.cxx.

Referenced by Print(), Size(), and ValueAsFloat().

Int_t AliMUONCalibParamNI::ValueAsIntFast ( Int_t  i,
Int_t  j = 0 
) const
virtual

Same as above but w/o bound checking.

Return the value as an int (which it is), w/o checking indices.

Implements AliMUONVCalibParam.

Definition at line 308 of file AliMUONCalibParamNI.cxx.

Referenced by Add(), Size(), and ValueAsFloatFast().

Member Data Documentation

Int_t AliMUONCalibParamNI::fDimension
private

dimension of this object

Definition at line 62 of file AliMUONCalibParamNI.h.

Referenced by CopyTo(), and Dimension().

Int_t AliMUONCalibParamNI::fN
private

The total number of floats we hold (fDimension*fSize)

Definition at line 64 of file AliMUONCalibParamNI.h.

Referenced by AliMUONCalibParamNI(), and CopyTo().

Int_t AliMUONCalibParamNI::fPackingFactor
private

packing factor, i.e. value = a*fPackingFactor + b

Definition at line 65 of file AliMUONCalibParamNI.h.

Referenced by CopyTo(), IsPacked(), PackValues(), Print(), and UnpackValue().

Int_t AliMUONCalibParamNI::fSize
private

The number of float pair we hold.

Definition at line 63 of file AliMUONCalibParamNI.h.

Referenced by CopyTo(), and Size().

Int_t* AliMUONCalibParamNI::fValues
private

The documentation for this class was generated from the following files: