AliRoot Core  3abf5b4 (3abf5b4)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONCalibParamNF.h
Go to the documentation of this file.
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3 
4 // $Id$
5 
10 // Author Laurent Aphecetche
11 
12 #ifndef ALIMUONCALIBPARAMNF_H
13 #define ALIMUONCALIBPARAMNF_H
14 
15 #ifndef ALIMUONVCALIBPARAM_H
16 # include "AliMUONVCalibParam.h"
17 #endif
18 
20 {
21 public:
23  AliMUONCalibParamNF(Int_t dimension, Int_t theSize, Int_t id0, Int_t id1, Float_t fillWithValue=0);
26 
27  virtual ~AliMUONCalibParamNF();
28 
30  virtual TObject* Clone(const char* = "") const { return new AliMUONCalibParamNF(*this); }
31 
33  virtual Int_t Dimension() const { return fDimension; }
34 
35  virtual void Print(Option_t* opt="") const;
36 
37  virtual void SetValueAsFloat(Int_t i, Int_t j, Float_t value);
38  virtual void SetValueAsFloatFast(Int_t i, Int_t j, Float_t value);
39  virtual void SetValueAsInt(Int_t i, Int_t j, Int_t value);
40  virtual void SetValueAsIntFast(Int_t i, Int_t j, Int_t value);
41 
43  virtual Int_t Size() const { return fSize; }
44 
45  virtual Float_t ValueAsFloat(Int_t i, Int_t j=0) const;
46 
47  virtual Float_t ValueAsFloatFast(Int_t i, Int_t j=0) const;
48 
49  virtual Int_t ValueAsInt(Int_t i, Int_t j=0) const;
50 
51  virtual Int_t ValueAsIntFast(Int_t i, Int_t j=0) const;
52 
53 private:
54  void CopyTo(AliMUONCalibParamNF& destination) const;
55  Int_t Index(Int_t i, Int_t j) const;
56  Int_t IndexFast(Int_t i, Int_t j) const;
57 
58 private:
59  Int_t fDimension;
60  Int_t fSize;
61  Int_t fN;
62 
64  Float_t* fValues; //[fN] The values array
65 
66  ClassDef(AliMUONCalibParamNF,3) // Container for calibration parameters
67 };
68 
69 #endif
void CopyTo(AliMUONCalibParamNF &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 SetValueAsFloat(Int_t i, Int_t j, Float_t value)
Set one value, for channel i, dimension j. Consider value is a float.
virtual void Print(Option_t *opt="") const
Int_t fDimension
dimension of this object
Int_t fN
The total number of floats we hold (fDimension*fSize)
Implementation of AliMUONVCalibParam for tuples of floats.
Int_t fSize
The number of float pair we hold.
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.
Container of calibration values for a given number of channels.
AliMUONCalibParamNF & operator=(const AliMUONCalibParamNF &other)
Int_t IndexFast(Int_t i, Int_t j) const
virtual void SetValueAsFloatFast(Int_t i, Int_t j, Float_t value)
virtual Int_t Size() const
Return size - the number of float pair we hold.
Int_t Index(Int_t i, Int_t j) const
virtual Int_t ValueAsIntFast(Int_t i, Int_t j=0) const
Same as above but w/o bound checking.
virtual Int_t ValueAsInt(Int_t i, Int_t j=0) const
Float_t * fValues
The values array.
virtual void SetValueAsIntFast(Int_t i, Int_t j, Int_t value)
Same as above but w/o bound checkings.
virtual Int_t Dimension() const
Return dimension.
virtual TObject * Clone(const char *="") const
Own clone methods (as the default TObject::Clone turned out to be pretty slow !)