#ifndef ROOT_TreeSearch_TimeToDistConv
#define ROOT_TreeSearch_TimeToDistConv
#include "Rtypes.h"
#include <vector>
using std::vector;
namespace TreeSearch {
extern const Double_t kBig;
class TimeToDistConv {
public:
virtual ~TimeToDistConv() {}
virtual Double_t ConvertTimeToDist( Double_t time,
Double_t slope ) const = 0;
UInt_t GetNparam() const { return fNparam; }
virtual Double_t GetParameter( UInt_t ) const { return kBig; }
virtual Int_t SetParameters( const vector<double>& ) { return 0; }
protected:
TimeToDistConv( UInt_t npar = 0 ) : fNparam(npar) {}
TimeToDistConv( const TimeToDistConv& rhs ) : fNparam(rhs.fNparam) {}
TimeToDistConv& operator=( const TimeToDistConv& rhs )
{
if( this != &rhs ) {
fNparam = rhs.fNparam;
}
return *this;
}
UInt_t fNparam;
ClassDef(TimeToDistConv,0)
};
class LinearTTD : public TimeToDistConv {
public:
LinearTTD();
virtual ~LinearTTD() {}
virtual Double_t ConvertTimeToDist( Double_t time, Double_t slope ) const;
virtual Int_t SetParameters( const vector<double>& param );
Double_t GetDriftVel() const { return fDriftVel; }
virtual Double_t GetParameter( UInt_t i ) const;
protected:
Double_t fDriftVel;
ClassDef(LinearTTD,0)
};
class TanhFitTTD : public TimeToDistConv {
public:
TanhFitTTD();
virtual ~TanhFitTTD() {}
virtual Double_t ConvertTimeToDist( Double_t time, Double_t slope ) const;
virtual Double_t GetParameter( UInt_t i ) const;
virtual Int_t SetParameters( const vector<double>& param );
protected:
Double_t fDriftVel;
Double_t fC0;
Double_t fC2;
Double_t fT0;
Double_t fInvC0;
ClassDef(TanhFitTTD,0)
};
class Pol2FitTTD : public TimeToDistConv {
public:
Pol2FitTTD();
virtual ~Pol2FitTTD() {}
virtual Double_t ConvertTimeToDist( Double_t time, Double_t slope ) const;
virtual Double_t GetParameter( UInt_t i ) const;
virtual Int_t SetParameters( const vector<double>& param );
protected:
Double_t f1[14];
ClassDef(Pol2FitTTD,0)
};
}
#endif
Last update: Tue Jul 7 19:26:19 2009
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.