5#ifndef TFCSLateralShapeParametrizationHitBase_h
6#define TFCSLateralShapeParametrizationHitBase_h
16 const char *title =
nullptr);
90 inline float &
E() {
return m_E; };
91 inline float &
z() {
return m_z; };
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
Hit(float x, float y, float z, float E)
void setEtaPhiZE(float eta, float phi, float z, float E)
long unsigned int m_hit_index
Hit(float eta, float phi, float E)
void setCenter_phi(float phi)
void setCenter_r(float r)
void setCenter_z(float z)
long unsigned int & idx()
void setCenter_eta(float eta)
void setXYZE(float x, float y, float z, float E)
virtual float getMaxWeight() const
virtual int get_number_of_hits(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Call get_number_of_hits() only once per shower simulation, as it could be calculated with random numb...
virtual float get_E_hit(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Get hit energy from layer energy and number of hits.
virtual double 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 by the amount of generat...
TFCSLateralShapeParametrizationHitBase(const char *name=nullptr, const char *title=nullptr)
virtual float getMinWeight() const
Get minimum and maximum value of weight for hit energy reweighting.
virtual FCSReturnCode simulate_hit(Hit &hit, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol)
simulated one hit position with some energy.
TFCSLateralShapeParametrization(const char *name=nullptr, const char *title=nullptr)