ATLAS Offline Software
TFCSSimpleLateralShapeParametrization.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TFCSSimpleLateralShapeParametrization_h
6 #define TFCSSimpleLateralShapeParametrization_h
7 
9 
10 #include "TFile.h"
11 #include "TH2F.h"
12 #include "TF1.h"
13 
14 namespace CLHEP {
15  class HepRandomEngine;
16 }
17 
19 public:
20  TFCSSimpleLateralShapeParametrization(const char* name=nullptr, const char* title=nullptr);
21 
22  // simulated one hit position with weight that should be put into simulstate
23  // sometime later all hit weights should be resacled such that their final sum is simulstate->E(sample)
24  // someone also needs to map all hits into cells
25  virtual FCSReturnCode simulate_hit(Hit& hit,TFCSSimulationState& simulstate,const TFCSTruthState* truth, const TFCSExtrapolationState* extrapol) override;
26 
27  // Init and fill sigma
28  bool Initialize(const char* filepath, const char* histname);
29 
30  bool Initialize(float input_sigma_x, float input_sigma_y);
31 
32  void getHitXY(CLHEP::HepRandomEngine *engine, double &x, double &y) const;
33 
34  float getSigma_x(){return m_sigmaX;};
35  float getSigma_y(){return m_sigmaY;};
36 private:
37  // simple shape information should be stored as private member variables here
38 
39  float m_sigmaX;
40  float m_sigmaY;
41 
42  ClassDefOverride(TFCSSimpleLateralShapeParametrization,1) //TFCSSimpleLateralShapeParametrization
43 };
44 
45 #endif
FCSReturnCode
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
Definition: TFCSParametrizationBase.h:41
TFCSSimpleLateralShapeParametrization::TFCSSimpleLateralShapeParametrization
TFCSSimpleLateralShapeParametrization(const char *name=nullptr, const char *title=nullptr)
Definition: TFCSSimpleLateralShapeParametrization.cxx:18
TFCSExtrapolationState
Definition: TFCSExtrapolationState.h:13
TFCSLateralShapeParametrizationHitBase::Hit
Definition: TFCSLateralShapeParametrizationHitBase.h:42
RunActsMaterialValidation.extrapol
extrapol
Definition: RunActsMaterialValidation.py:90
TFCSSimpleLateralShapeParametrization::simulate_hit
virtual FCSReturnCode simulate_hit(Hit &hit, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) override
simulated one hit position with some energy.
Definition: TFCSSimpleLateralShapeParametrization.cxx:26
x
#define x
TFCSLateralShapeParametrizationHitBase
Definition: TFCSLateralShapeParametrizationHitBase.h:13
TFCSSimpleLateralShapeParametrization::m_sigmaY
float m_sigmaY
Definition: TFCSSimpleLateralShapeParametrization.h:40
TFCSSimpleLateralShapeParametrization::Initialize
bool Initialize(const char *filepath, const char *histname)
Definition: TFCSSimpleLateralShapeParametrization.cxx:58
TFCSLateralShapeParametrizationHitBase.h
PixelAthClusterMonAlgCfg.histname
histname
Definition: PixelAthClusterMonAlgCfg.py:106
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
covarianceTool.title
title
Definition: covarianceTool.py:542
TFCSSimpleLateralShapeParametrization
Definition: TFCSSimpleLateralShapeParametrization.h:18
TFCSSimpleLateralShapeParametrization::getHitXY
void getHitXY(CLHEP::HepRandomEngine *engine, double &x, double &y) const
Definition: TFCSSimpleLateralShapeParametrization.cxx:127
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
y
#define y
TFCSSimpleLateralShapeParametrization::m_sigmaX
float m_sigmaX
Definition: TFCSSimpleLateralShapeParametrization.h:35
TFCSSimpleLateralShapeParametrization::getSigma_y
float getSigma_y()
Definition: TFCSSimpleLateralShapeParametrization.h:35
TFCSSimpleLateralShapeParametrization::getSigma_x
float getSigma_x()
Definition: TFCSSimpleLateralShapeParametrization.h:34
TFCSTruthState
Definition: TFCSTruthState.h:13
TFCSSimulationState
Definition: TFCSSimulationState.h:32