ATLAS Offline Software
HGTD_SurfaceChargesGenerator.h
Go to the documentation of this file.
1 
20 #ifndef HGTD_SURFACECHARGESGENERATOR_H
21 #define HGTD_SURFACECHARGESGENERATOR_H
22 
25 #include "HGTD_TimingResolution.h"
26 
27 #include <string>
28 
30  : public AthAlgTool,
31  public virtual IHGTD_SurfaceChargesGenerator {
32 
33 public:
35  HGTD_SurfaceChargesGenerator(const std::string &type, const std::string &name,
36  const IInterface *parent);
37 
39  virtual ~HGTD_SurfaceChargesGenerator() = default;
40 
42  StatusCode initialize() override;
43 
44  virtual void createSurfaceChargesFromHit(
45  const TimedHitPtr<SiHit> &timed_hit_ptr,
46  SiChargedDiodeCollection *diode_coll,
48  CLHEP::HepRandomEngine *rndm_engine,
49  const EventContext& ctx) const override final;
50 
51 private:
52  // TODO: where do we get this from?
53  FloatProperty m_small_step_length{this, "SmallStepLength", 1, ""}; /*um*/
54  FloatProperty m_diffusion_constant{this, "DiffusionConstant", .007, ""};
55  FloatProperty m_active_time_window{this, "ActiveTimeWindow", 1.25, "Hits within this time window are used for digitization, the rest are discarded (Given in ns)."};
56  BooleanProperty m_smear_meantime{this, "SmearMeanTime", true, "Smear mean time based on radius and luminosity"};
57  ToolHandle<HGTD_TimingResolution> m_hgtd_timing_resolution_tool{this, "TimingResolutionTool", "HGTD_TimingResolution", "Tool for smearing LGAD timing based on integrated luminosity and radius"};
58 };
59 
60 #endif // HGTD_DIGITZATION_HGTD_SURFACECHARGESGENERATOR_H
HGTD_SurfaceChargesGenerator::HGTD_SurfaceChargesGenerator
HGTD_SurfaceChargesGenerator(const std::string &type, const std::string &name, const IInterface *parent)
constructor
Definition: HGTD_SurfaceChargesGenerator.cxx:27
InDetDD::SolidStateDetectorElementBase
Definition: SolidStateDetectorElementBase.h:132
HGTD_SurfaceChargesGenerator::m_active_time_window
FloatProperty m_active_time_window
Definition: HGTD_SurfaceChargesGenerator.h:55
IHGTD_SurfaceChargesGenerator.h
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration.
TimedHitPtr< SiHit >
HGTD_SurfaceChargesGenerator::m_diffusion_constant
FloatProperty m_diffusion_constant
Definition: HGTD_SurfaceChargesGenerator.h:54
HGTD_SurfaceChargesGenerator::createSurfaceChargesFromHit
virtual void createSurfaceChargesFromHit(const TimedHitPtr< SiHit > &timed_hit_ptr, SiChargedDiodeCollection *diode_coll, const InDetDD::SolidStateDetectorElementBase *element, CLHEP::HepRandomEngine *rndm_engine, const EventContext &ctx) const override final
Definition: HGTD_SurfaceChargesGenerator.cxx:42
HGTD_SurfaceChargesGenerator::~HGTD_SurfaceChargesGenerator
virtual ~HGTD_SurfaceChargesGenerator()=default
Destructor.
HGTD_SurfaceChargesGenerator
Definition: HGTD_SurfaceChargesGenerator.h:31
HGTD_SurfaceChargesGenerator::initialize
StatusCode initialize() override
AlgTool initialize.
Definition: HGTD_SurfaceChargesGenerator.cxx:32
SiChargedDiodeCollection
Definition: SiChargedDiodeCollection.h:109
HGTD_SurfaceChargesGenerator::m_hgtd_timing_resolution_tool
ToolHandle< HGTD_TimingResolution > m_hgtd_timing_resolution_tool
Definition: HGTD_SurfaceChargesGenerator.h:57
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
HGTD_TimingResolution.h
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
HGTD_SurfaceChargesGenerator::m_small_step_length
FloatProperty m_small_step_length
Definition: HGTD_SurfaceChargesGenerator.h:53
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
IHGTD_SurfaceChargesGenerator
Definition: IHGTD_SurfaceChargesGenerator.h:42
AthAlgTool
Definition: AthAlgTool.h:26
HGTD_SurfaceChargesGenerator::m_smear_meantime
BooleanProperty m_smear_meantime
Definition: HGTD_SurfaceChargesGenerator.h:56