]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONCalibParam2F.h
Added AlidNdEtaCorrection (new procedure).
[u/mrichter/AliRoot.git] / MUON / AliMUONCalibParam2F.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice                               */
3
4 // $Id$
5
6 /// \ingroup base
7 /// \class AliMUONCalibParam2F
8 /// \brief Implementation of AliMUONVCalibParam.
9 /// 
10 /// Handle the case of 2 floating point parameters per channel.
11 ///
12 /// 
13 /// \author Laurent Aphecetche
14
15 #ifndef ALIMUONCALIBPARAM2F_H
16 #define ALIMUONCALIBPARAM2F_H
17
18 #ifndef ALIMUONVCALIBPARAM_H
19 #  include "AliMUONVCalibParam.h"
20 #endif
21
22 class AliMUONCalibParam2F : public AliMUONVCalibParam
23 {
24 public:
25   AliMUONCalibParam2F();
26   AliMUONCalibParam2F(Int_t theSize, Int_t fillWithValue=0);
27   AliMUONCalibParam2F(const AliMUONCalibParam2F& other);
28   AliMUONCalibParam2F& operator=(const AliMUONCalibParam2F& other);
29   
30   virtual ~AliMUONCalibParam2F();
31
32   virtual Int_t Dimension() const { return 2; }
33   
34   virtual void Print(Option_t* opt="") const;
35   
36   virtual void SetValueAsFloat(Int_t i, Int_t j, Float_t value);
37   virtual void SetValueAsInt(Int_t i, Int_t j, Int_t value);
38   
39   virtual Int_t Size() const { return fSize; }
40
41   virtual Float_t ValueAsFloat(Int_t i, Int_t j=0) const;
42   virtual Int_t ValueAsInt(Int_t i, Int_t j=0) const;
43      
44 private:
45   void CopyTo(AliMUONCalibParam2F& destination) const;
46   Int_t Index(Int_t i, Int_t j) const;  
47     
48 private:
49   Int_t fSize; ///< The number of float pair we hold
50   Int_t fN;    ///< The total number of floats we hold (2*fSize)
51
52   /// The values array
53   Float_t* fValues; //[fN] The values array
54   
55   ClassDef(AliMUONCalibParam2F,1) // Container for calibration parameters
56 };
57
58 #endif