#ifndef ALITRDDEDXPARAMS_H
#define ALITRDDEDXPARAMS_H
#include "TNamed.h"
#include "TVectorT.h"
#include "TString.h"
#define MAXSIZE 100
class AliTRDdEdxParams: public TNamed
{
public:
AliTRDdEdxParams(const TString name="name", const TString title="title");
void Print(Option_t* option = "") const;
const TVectorF& GetMeanParameter( const Int_t itype, const Int_t nch, const Int_t ncls) const { return GetParameter(fMeanPar, itype, nch, ncls);}
const TVectorF& GetSigmaParameter(const Int_t itype, const Int_t nch, const Int_t ncls) const { return GetParameter(fSigmaPar, itype, nch, ncls);}
void SetMeanParameter( const Int_t itype, const Int_t nch, const Int_t ncls, const Int_t npar, const Float_t vals[]){ SetParameter(fMeanPar, itype, nch, ncls, npar, vals); }
void SetSigmaParameter(const Int_t itype, const Int_t nch, const Int_t ncls, const Int_t npar, const Float_t vals[]){ SetParameter(fSigmaPar, itype, nch, ncls, npar, vals); }
private:
const TVectorF& GetParameter(const TVectorF par[], const Int_t itype, const Int_t nch, const Int_t ncls) const;
void SetParameter(TVectorF par[], const Int_t itype, const Int_t nch, const Int_t ncls, const Int_t npar, const Float_t vals[]);
TVectorF fMeanPar[MAXSIZE];
TVectorF fSigmaPar[MAXSIZE];
Int_t GetIter(const Int_t itype, const Int_t nch, const Int_t ncls) const;
ClassDef(AliTRDdEdxParams,2);
};
#endif