ATLAS Offline Software
Loading...
Searching...
No Matches
TFCS2DFunctionLateralShapeParametrization.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TFCS2DFunctionLateralShapeParametrization_h
6#define TFCS2DFunctionLateralShapeParametrization_h
7
11
12class TH2;
13
16public:
17 TFCS2DFunctionLateralShapeParametrization(const char *name = nullptr,
18 const char *title = nullptr);
20
24 BIT(15)
25 };
26
27 bool is_phi_symmetric() const { return TestBit(k_phi_symmetric); };
28 virtual void set_phi_symmetric() { SetBit(k_phi_symmetric); };
29 virtual void reset_phi_symmetric() { ResetBit(k_phi_symmetric); };
30
32 void set_number_of_hits(float nhits);
33
34 float get_number_of_expected_hits() const { return m_nhits; };
35
38 virtual double
40 const TFCSTruthState *truth,
41 const TFCSExtrapolationState *extrapol) const override;
42
44 virtual int
46 const TFCSTruthState *truth,
47 const TFCSExtrapolationState *extrapol) const override;
48
52 virtual FCSReturnCode
53 simulate_hit(Hit &hit, TFCSSimulationState &simulstate,
54 const TFCSTruthState *truth,
55 const TFCSExtrapolationState *extrapol) override;
56
58 bool Initialize(TFCS2DFunction *func, float nhits = -1);
59
61 const TFCS2DFunction *function() const { return m_function; };
62
63 virtual void Print(Option_t *option = "") const override;
64
65protected:
68 float m_nhits;
69
70private:
72 2) // TFCS2DFunctionLateralShapeParametrization
73};
74
75#endif
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
virtual double get_sigma2_fluctuation(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
default for this class is to simulate get_number_of_expected_hits() hits, which gives fluctuations si...
virtual void Print(Option_t *option="") const override
bool Initialize(TFCS2DFunction *func, float nhits=-1)
Init from function.
TFCS2DFunction * m_function
Histogram to be used for the shape simulation.
TFCS2DFunctionLateralShapeParametrization(const char *name=nullptr, const char *title=nullptr)
@ k_phi_symmetric
Set this bit to simulate phi symmetric histograms.
virtual FCSReturnCode simulate_hit(Hit &hit, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) override
simulated one hit position with weight that should be put into simulstate sometime later all hit weig...
virtual int get_number_of_hits(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
default for this class is to simulate get_number_of_expected_hits() hits
void set_number_of_hits(float nhits)
set the desired number of hits
TFCSLateralShapeParametrizationHitBase(const char *name=nullptr, const char *title=nullptr)