LCOV - code coverage report
Current view: top level - MUON/MUONcalib - AliMUONCalibParamND.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 3 5 60.0 %
Date: 2016-06-14 17:26:59 Functions: 4 9 44.4 %

          Line data    Source code
       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 calib
       7             : /// \class AliMUONCalibParamND
       8             : /// \brief Implementation of AliMUONVCalibParam for tuples of double
       9             : /// 
      10             : //  Author Laurent Aphecetche
      11             : 
      12             : #ifndef ALIMUONCALIBPARAMND_H
      13             : #define ALIMUONCALIBPARAMND_H
      14             : 
      15             : #ifndef ALIMUONVCALIBPARAM_H
      16             : #  include "AliMUONVCalibParam.h"
      17             : #endif
      18             : 
      19             : class AliMUONCalibParamND : public AliMUONVCalibParam
      20             : {
      21             : public:
      22             :   AliMUONCalibParamND();
      23             :   AliMUONCalibParamND(Int_t dimension, Int_t theSize, Int_t id0, Int_t id1, Double_t fillWithValue=0);
      24             :   AliMUONCalibParamND(const AliMUONCalibParamND& other);
      25             :   AliMUONCalibParamND& operator=(const AliMUONCalibParamND& other);
      26             :   
      27             :   virtual ~AliMUONCalibParamND();
      28             : 
      29             :   /// Own clone methods (as the default TObject::Clone turned out to be pretty slow !)
      30           0 :   virtual TObject* Clone(const char* = "") const { return new AliMUONCalibParamND(*this); }
      31             :   
      32             :   /// Return dimension
      33     3975628 :   virtual Int_t Dimension() const { return fDimension; }
      34             :   
      35             :   virtual void Print(Option_t* opt="") const;
      36             :   
      37             :   virtual void SetValueAsDouble(Int_t i, Int_t j, Double_t value);
      38             :   virtual void SetValueAsDoubleFast(Int_t i, Int_t j, Double_t value);
      39             :   virtual void SetValueAsFloat(Int_t i, Int_t j, Float_t value);
      40             :   virtual void SetValueAsFloatFast(Int_t i, Int_t j, Float_t value);
      41             :   virtual void SetValueAsInt(Int_t i, Int_t j, Int_t value);
      42             :   virtual void SetValueAsIntFast(Int_t i, Int_t j, Int_t value);
      43             :   
      44             :   /// Return size - the number of double tuples we hold
      45     7278128 :   virtual Int_t Size() const { return fSize; } 
      46             : 
      47             :   virtual Float_t ValueAsFloat(Int_t i, Int_t j=0) const;
      48             :   virtual Float_t ValueAsFloatFast(Int_t i, Int_t j=0) const;
      49             :   virtual Double_t ValueAsDouble(Int_t i, Int_t j=0) const;
      50             :   virtual Double_t ValueAsDoubleFast(Int_t i, Int_t j=0) const;
      51             :   virtual Int_t ValueAsInt(Int_t i, Int_t j=0) const;
      52             :   virtual Int_t ValueAsIntFast(Int_t i, Int_t j=0) const;
      53             :      
      54             :   /// Advertise that we can store double precision values
      55           0 :   virtual Bool_t IsDoublePrecision() const { return kTRUE; }
      56             :   
      57             : private:
      58             :   void CopyTo(AliMUONCalibParamND& destination) const;
      59             :   Int_t Index(Int_t i, Int_t j) const;  
      60             :   Int_t IndexFast(Int_t i, Int_t j) const;  
      61             :     
      62             : private:
      63             :   Int_t fDimension; ///< dimension of this object
      64             :   Int_t fSize; ///< The number of double tuples we hold
      65             :   Int_t fN;    ///< The total number of floats we hold (fDimension*fSize)
      66             : 
      67             :   /// The values array
      68             :   Double_t* fValues; //[fN] The values array
      69             :   
      70       67334 :   ClassDef(AliMUONCalibParamND,1) // Container for calibration parameters
      71             : };
      72             : 
      73             : #endif

Generated by: LCOV version 1.11