4 #include "KVedaLossInverseRangeFunction.h"
8 #define LOG(x) TMath::Log(x)
9 #define EXP(x) TMath::Exp(x)
45 range_func->GetRange(emin, emax);
53 estep = (LOG(emax) - LOG(emin)) / (ninter - 1.);
55 for (
int i = 0; i < ninter; ++i) {
56 double loge = LOG(emin) + i * estep;
60 double R = LOG(range_func->Eval(EXP(loge) * A)) - logriso;
65 fInterpol =
new TSpline3(range_func->GetTitle(), &e_vs_range);
67 fInterpol.reset(
new TSpline3(range_func->GetTitle(), &e_vs_range));
84 if (
range <= 0)
return 0;
Dedicated optimised inversion of range-energy function for KVedaLoss.
std::unique_ptr< TSpline3 > fInterpol
interpolation of inverse range-energy curve
Double_t GetEnergyPerNucleon(Double_t range, Double_t riso)
virtual void SetPoint(Int_t i, Double_t x, Double_t y)