ATLAS Offline Software
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 
12 class TH2;
13 
16 public:
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 
60  TFCS2DFunction *function() { return m_function; };
61  const TFCS2DFunction *function() const { return m_function; };
62 
63  virtual void Print(Option_t *option = "") const override;
64 
65 protected:
68  float m_nhits;
69 
70 private:
72  2) // TFCS2DFunctionLateralShapeParametrization
73 };
74 
75 #endif
FCSReturnCode
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
Definition: TFCSParametrizationBase.h:41
TFCS2DFunctionLateralShapeParametrization::simulate_hit
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...
Definition: TFCS2DFunctionLateralShapeParametrization.cxx:60
TFCS2DFunctionLateralShapeParametrization::get_sigma2_fluctuation
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...
Definition: TFCS2DFunctionLateralShapeParametrization.cxx:39
TFCS2DFunctionLateralShapeParametrization::k_phi_symmetric
@ k_phi_symmetric
Set this bit to simulate phi symmetric histograms.
Definition: TFCS2DFunctionLateralShapeParametrization.h:23
TFCS2DFunctionLateralShapeParametrization::FCSStatusBits
FCSStatusBits
Status bit for FCS needs.
Definition: TFCS2DFunctionLateralShapeParametrization.h:22
TFCS2DFunction.h
TFCSExtrapolationState
Definition: TFCSExtrapolationState.h:13
RunActsMaterialValidation.extrapol
extrapol
Definition: RunActsMaterialValidation.py:90
TFCSLateralShapeParametrizationHitBase
Definition: TFCSLateralShapeParametrizationHitBase.h:13
TFCS2DFunctionLateralShapeParametrization::Print
virtual void Print(Option_t *option="") const override
Definition: TFCS2DFunctionLateralShapeParametrization.cxx:156
Hit
Definition: Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloGpu/ISF_FastCaloGpu/Hit.h:16
TFCSLateralShapeParametrizationHitBase.h
TFCS2DFunctionLateralShapeParametrization::TFCS2DFunctionLateralShapeParametrization
TFCS2DFunctionLateralShapeParametrization(const char *name=nullptr, const char *title=nullptr)
Definition: TFCS2DFunctionLateralShapeParametrization.cxx:25
TFCS2DFunctionLateralShapeParametrization::set_phi_symmetric
virtual void set_phi_symmetric()
Definition: TFCS2DFunctionLateralShapeParametrization.h:28
TFCS2DFunctionLateralShapeParametrization::~TFCS2DFunctionLateralShapeParametrization
~TFCS2DFunctionLateralShapeParametrization()
Definition: TFCS2DFunctionLateralShapeParametrization.cxx:33
TFCS2DFunctionLateralShapeParametrization::get_number_of_hits
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
Definition: TFCS2DFunctionLateralShapeParametrization.cxx:45
covarianceTool.title
title
Definition: covarianceTool.py:542
TFCS2DFunctionLateralShapeParametrization::reset_phi_symmetric
virtual void reset_phi_symmetric()
Definition: TFCS2DFunctionLateralShapeParametrization.h:29
TFCS2DFunctionLateralShapeParametrization::Initialize
bool Initialize(TFCS2DFunction *func, float nhits=-1)
Init from function.
Definition: TFCS2DFunctionLateralShapeParametrization.cxx:142
TH2
Definition: rootspy.cxx:373
TFCS2DFunctionLateralShapeParametrization::get_number_of_expected_hits
float get_number_of_expected_hits() const
Definition: TFCS2DFunctionLateralShapeParametrization.h:34
TFCS2DFunctionLateralShapeParametrization
Definition: TFCS2DFunctionLateralShapeParametrization.h:15
TFCS2DFunctionLateralShapeParametrization::set_number_of_hits
void set_number_of_hits(float nhits)
set the desired number of hits
Definition: TFCS2DFunctionLateralShapeParametrization.cxx:55
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TFCSTruthState.h
TFCS2DFunction
Definition: TFCS2DFunction.h:15
TFCS2DFunctionLateralShapeParametrization::is_phi_symmetric
bool is_phi_symmetric() const
Definition: TFCS2DFunctionLateralShapeParametrization.h:27
TFCSTruthState
Definition: TFCSTruthState.h:13
TFCS2DFunctionLateralShapeParametrization::m_function
TFCS2DFunction * m_function
Histogram to be used for the shape simulation.
Definition: TFCS2DFunctionLateralShapeParametrization.h:67
TFCSSimulationState
Definition: TFCSSimulationState.h:32
TFCS2DFunctionLateralShapeParametrization::m_nhits
float m_nhits
Definition: TFCS2DFunctionLateralShapeParametrization.h:68