AliRoot Core  3dc7879 (3dc7879)
AliMUONCalibParamND Class Reference

Implementation of AliMUONVCalibParam for tuples of double. More...

#include <AliMUONCalibParamND.h>

Inheritance diagram for AliMUONCalibParamND:

Public Member Functions

 AliMUONCalibParamND ()
 
 AliMUONCalibParamND (Int_t dimension, Int_t theSize, Int_t id0, Int_t id1, Double_t fillWithValue=0)
 
 AliMUONCalibParamND (const AliMUONCalibParamND &other)
 
AliMUONCalibParamNDoperator= (const AliMUONCalibParamND &other)
 
virtual ~AliMUONCalibParamND ()
 
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 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 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 double tuples 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 Double_t ValueAsDouble (Int_t i, Int_t j=0) const
 
virtual Double_t ValueAsDoubleFast (Int_t i, Int_t j=0) const
 
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 IsDoublePrecision () const
 Advertise that we can store double precision values. 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 Bool_t IsPacked () const
 whether or not the value we store are packed, e.g. as v = a*cste + b More...
 
virtual Bool_t UnpackValue (Int_t, Int_t &, Int_t &) const
 Unpack a value into a couple (a,b). Returns false if IsPacked()==kFALSE. More...
 
virtual Bool_t PackValues (Int_t, Int_t, Int_t &) const
 Pack (a,b) as a single int. Returns false if IsPacked()==kFALSE. More...
 

Private Member Functions

void CopyTo (AliMUONCalibParamND &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 double tuples we hold. More...
 
Int_t fN
 The total number of floats we hold (fDimension*fSize) More...
 
Double_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 double.

Handle the case of N floating point (double precision) parameters per channel.

Author
Laurent Aphecetche

Definition at line 19 of file AliMUONCalibParamND.h.

Constructor & Destructor Documentation

AliMUONCalibParamND::AliMUONCalibParamND ( )

Default constructor.

Definition at line 41 of file AliMUONCalibParamND.cxx.

Referenced by Clone().

AliMUONCalibParamND::AliMUONCalibParamND ( Int_t  dimension,
Int_t  theSize,
Int_t  id0,
Int_t  id1,
Double_t  fillWithValue = 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 52 of file AliMUONCalibParamND.cxx.

AliMUONCalibParamND::AliMUONCalibParamND ( const AliMUONCalibParamND other)

Copy constructor.

Definition at line 77 of file AliMUONCalibParamND.cxx.

AliMUONCalibParamND::~AliMUONCalibParamND ( )
virtual

Destructor

Definition at line 100 of file AliMUONCalibParamND.cxx.

Member Function Documentation

virtual TObject* AliMUONCalibParamND::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 AliMUONCalibParamND.h.

void AliMUONCalibParamND::CopyTo ( AliMUONCalibParamND destination) const
private

Copy *this to destination

Definition at line 109 of file AliMUONCalibParamND.cxx.

Referenced by AliMUONCalibParamND(), IsDoublePrecision(), and operator=().

virtual Int_t AliMUONCalibParamND::Dimension ( ) const
inlinevirtual

Return dimension.

Implements AliMUONVCalibParam.

Definition at line 33 of file AliMUONCalibParamND.h.

Referenced by Index(), Print(), SetValueAsDouble(), and ValueAsDouble().

Int_t AliMUONCalibParamND::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 132 of file AliMUONCalibParamND.cxx.

Referenced by IsDoublePrecision(), SetValueAsDouble(), and ValueAsDouble().

Int_t AliMUONCalibParamND::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 146 of file AliMUONCalibParamND.cxx.

Referenced by Index(), IsDoublePrecision(), SetValueAsDoubleFast(), and ValueAsDoubleFast().

virtual Bool_t AliMUONCalibParamND::IsDoublePrecision ( ) const
inlinevirtual

Advertise that we can store double precision values.

Reimplemented from AliMUONVCalibParam.

Definition at line 55 of file AliMUONCalibParamND.h.

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

Assignment operator

Definition at line 91 of file AliMUONCalibParamND.cxx.

void AliMUONCalibParamND::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 155 of file AliMUONCalibParamND.cxx.

Referenced by Dimension().

void AliMUONCalibParamND::SetValueAsDouble ( Int_t  i,
Int_t  j,
Double_t  value 
)
virtual

Set one value, for channel i, dimension j. Consider value is a double. Only ok to use if IsDoublePrecision() is kTRUE.

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

By default, this one does not exist

Reimplemented from AliMUONVCalibParam.

Definition at line 204 of file AliMUONCalibParamND.cxx.

Referenced by Dimension(), and SetValueAsFloat().

void AliMUONCalibParamND::SetValueAsDoubleFast ( Int_t  i,
Int_t  j,
Double_t  value 
)
virtual

Same as above but w/o bound checking.

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

By default, this one does not exist

Reimplemented from AliMUONVCalibParam.

Definition at line 223 of file AliMUONCalibParamND.cxx.

Referenced by Dimension(), and SetValueAsFloatFast().

void AliMUONCalibParamND::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 a float, after checking that the indices are correct.

Implements AliMUONVCalibParam.

Definition at line 232 of file AliMUONCalibParamND.cxx.

Referenced by Dimension(), and SetValueAsInt().

void AliMUONCalibParamND::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 a float, after checking that the indices are correct.

Implements AliMUONVCalibParam.

Definition at line 240 of file AliMUONCalibParamND.cxx.

Referenced by Dimension(), and SetValueAsIntFast().

void AliMUONCalibParamND::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 an int.

Implements AliMUONVCalibParam.

Definition at line 248 of file AliMUONCalibParamND.cxx.

Referenced by Dimension().

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

Same as above but w/o bound checkings.

Set one value as an int.

Implements AliMUONVCalibParam.

Definition at line 257 of file AliMUONCalibParamND.cxx.

Referenced by Dimension().

virtual Int_t AliMUONCalibParamND::Size ( ) const
inlinevirtual

Return size - the number of double tuples we hold.

Implements AliMUONVCalibParam.

Definition at line 45 of file AliMUONCalibParamND.h.

Referenced by Index(), IndexFast(), Print(), SetValueAsDouble(), and ValueAsDouble().

Double_t AliMUONCalibParamND::ValueAsDouble ( Int_t  i,
Int_t  j = 0 
) const
virtual

Retrieve the value for a given (channel,dim) as a double. Only ok if IsDoublePrecision() is kTRUE. (i,j) are checked to within boundaries

Return the value as a double (which it is), after checking indices.

By default, this one does not exist

Reimplemented from AliMUONVCalibParam.

Definition at line 266 of file AliMUONCalibParamND.cxx.

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

Double_t AliMUONCalibParamND::ValueAsDoubleFast ( Int_t  i,
Int_t  j = 0 
) const
virtual

Retrieve the value for a given (channel,dim) as a double. Only ok if IsDoublePrecision() is kTRUE. Fast means there's no bound checking on (i,j)

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

By default, this one does not exist

Reimplemented from AliMUONVCalibParam.

Definition at line 286 of file AliMUONCalibParamND.cxx.

Referenced by Size(), and ValueAsFloatFast().

Float_t AliMUONCalibParamND::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 295 of file AliMUONCalibParamND.cxx.

Referenced by Size(), and ValueAsInt().

Float_t AliMUONCalibParamND::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 303 of file AliMUONCalibParamND.cxx.

Referenced by Size(), and ValueAsIntFast().

Int_t AliMUONCalibParamND::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, by rounding the internal float value.

Implements AliMUONVCalibParam.

Definition at line 311 of file AliMUONCalibParamND.cxx.

Referenced by Size().

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

Same as above but w/o bound checking.

Return the value as an int, by rounding the internal float value.

Implements AliMUONVCalibParam.

Definition at line 321 of file AliMUONCalibParamND.cxx.

Referenced by Size().

Member Data Documentation

Int_t AliMUONCalibParamND::fDimension
private

dimension of this object

Definition at line 63 of file AliMUONCalibParamND.h.

Referenced by CopyTo(), and Dimension().

Int_t AliMUONCalibParamND::fN
private

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

Definition at line 65 of file AliMUONCalibParamND.h.

Referenced by AliMUONCalibParamND(), and CopyTo().

Int_t AliMUONCalibParamND::fSize
private

The number of double tuples we hold.

Definition at line 64 of file AliMUONCalibParamND.h.

Referenced by CopyTo(), and Size().

Double_t* AliMUONCalibParamND::fValues
private

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