5#ifndef TFCSLateralShapeParametrizationHitChain_h
6#define TFCSLateralShapeParametrizationHitChain_h
20 const char *title =
nullptr,
28 const char *title =
nullptr);
43 typedef std::vector<TFCSLateralShapeParametrizationHitBase *>
Chain_t;
44 virtual unsigned int size()
const override;
89 void Print(Option_t *option =
"")
const override;
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
MSG::Level level() const
Retrieve output level.
virtual float get_sigma2_fluctuation(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Give the effective size sigma^2 of the fluctuations that should be generated.
void push_back(const Chain_t::value_type &value)
const Chain_t & chain() const
virtual float getMaxWeight() const
void push_back_init(const Chain_t::value_type &value)
virtual const TFCSParametrizationBase * operator[](unsigned int ind) const override
Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operat...
TFCSLateralShapeParametrizationHitChain(const char *name=nullptr, const char *title=nullptr)
std::vector< TFCSLateralShapeParametrizationHitBase * > Chain_t
virtual FCSReturnCode simulate(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
Method in all derived classes to do some simulation.
virtual unsigned int size() const override
Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operat...
unsigned int get_nr_of_init() const
void set_nr_of_init(unsigned int ninit)
virtual bool check_all_hits_simulated(TFCSLateralShapeParametrizationHitBase::Hit &hit, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol, bool success) const
void Print(Option_t *option="") const override
Do not persistify!
virtual float getMinWeight() const
Get minimum and maximum value of weight for hit energy reweighting.
TFCSLateralShapeParametrizationHitBase * m_number_of_hits_simul
virtual void set_daughter(unsigned int ind, TFCSParametrizationBase *param) override
Some derived classes have daughter instances of TFCSParametrizationBase objects The set_daughter meth...
virtual FCSReturnCode init_hit(TFCSLateralShapeParametrizationHitBase::Hit &hit, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
virtual void set_number_of_hits_simul(TFCSLateralShapeParametrizationHitBase *sim)
set which instance should determine the number of hits
static constexpr float s_max_sigma2_fluctuation
virtual float get_E_hit(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Get hit energy from layer energy and number of hits.
void PropagateMSGLevel(MSG::Level level) const
virtual int get_number_of_hits(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Call get_number_of_hits() only once, as it could contain a random number.
TFCSLateralShapeParametrization(const char *name=nullptr, const char *title=nullptr)
virtual void set_geometry(ICaloGeometry *geo)
Method to set the geometry access pointer.
TFCSParametrizationBase(const char *name=nullptr, const char *title=nullptr)