|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ISF_FASTCALOSIMEVENT_TFCSEnergyInterpolationPiecewiseLinear_h
6 #define ISF_FASTCALOSIMEVENT_TFCSEnergyInterpolationPiecewiseLinear_h
11 #include <Math/Interpolator.h>
23 const char *
title =
nullptr);
51 double evaluate(
const double &Ekin)
const;
53 void Print(Option_t *option =
"")
const override;
58 TGraph *grlinear =
nullptr);
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
std::vector< double > m_response
void set_OnlyScaleEnergy()
void InitFromArrayInEkin(Int_t np, const Double_t Ekin[], const Double_t response[])
void reset_OnlyScaleEnergy()
virtual FCSReturnCode simulate(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
Method in all derived classes to do some simulation.
std::vector< double > m_logEkin
Do not persistify.
virtual bool is_match_calosample(int) const override
ROOT::Math::Interpolator m_linInterpol
@ kOnlyScaleEnergy
Set this bit in the TObject bit field the simulated energy should only be scaled by the spline.
std::pair< double, double > m_MinMaxlogEkin
static void unit_test(TFCSSimulationState *simulstate=nullptr, TFCSTruthState *truth=nullptr, const TFCSExtrapolationState *extrapol=nullptr, TGraph *grlinear=nullptr)
TFCSEnergyInterpolationPiecewiseLinear(const char *name=nullptr, const char *title=nullptr)
bool OnlyScaleEnergy() const
double evaluate(const double &Ekin) const
virtual bool is_match_Ekin_bin(int) const override
void Print(Option_t *option="") const override
FCSEnergyInitializationStatusBits
Status bit for energy initialization.
void InitFromArrayInLogEkin(Int_t np, const Double_t logEkin[], const Double_t response[])