ATLAS Offline Software
Loading...
Searching...
No Matches
FrontEndSimTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef PIXELDIGITIZATION_FrontEndSimTool_H
6#define PIXELDIGITIZATION_FrontEndSimTool_H
7
9#include "GaudiKernel/IAlgTool.h"
10#include "Gaudi/Property.h"
11#include "GaudiKernel/ServiceHandle.h"
12#include "GaudiKernel/ToolHandle.h"
13//
14//for ToolHandles, ServiceHandles:
15#include "InDetConditionsSummaryService/IInDetConditionsTool.h" //ToolHandle template param
16#include "PixelReadoutGeometry/IPixelReadoutManager.h" //SvcHandle template param
17#include "PixelConditionsData/PixelChargeCalibCondData.h" //ReadCondHandleKey template param
18#include "InDetRawData/PixelRDO_Collection.h" //typedef
19
20
21
23class SiTotalCharge;
24//
25namespace CLHEP{
26 class HepRandomEngine;
27}
28
29static const InterfaceID IID_IFrontEndSimTool("FrontEndSimTool", 1, 0);
30
31class FrontEndSimTool: public AthAlgTool, virtual public IAlgTool {
32public:
33 FrontEndSimTool(const std::string& type, const std::string& name, const IInterface* parent);
34
35 static const InterfaceID& interfaceID() {return IID_IFrontEndSimTool;}
36
37 virtual StatusCode initialize() override;
38
39 virtual StatusCode finalize() override;
40 virtual ~FrontEndSimTool() {}
41 //
42 virtual void process(SiChargedDiodeCollection& chargedDiodes, PixelRDO_Collection& rdoCollection,
43 CLHEP::HepRandomEngine* rndmEngine) const = 0;
44
45
46
47private:
49protected:
50 static constexpr double m_bunchSpace{25.0};
51 int m_numberOfBcid{1}; //assumed same for all positions
52 double m_timeOffset{5.0};
53 double m_timeJitter{0.0};
54 double m_thermalNoise{160.0}; //default noise level
55 ToolHandle<IInDetConditionsTool> m_pixelConditionsTool{
56 this, "PixelConditionsSummaryTool", "PixelConditionsSummaryTool", "Tool to retrieve Pixel Conditions summary"
57 };
58
60 this, "PixelReadoutManager", "PixelReadoutManager", "Pixel readout manager"
61 };
62
63
65 this, "PixelChargeCalibCondData", "PixelChargeCalibCondData", "Pixel charge calibration data"
66 };
67
68 Gaudi::Property<int> m_BarrelEC{
69 this, "BarrelEC", 0, "Index of barrel or endcap"
70 };
71
72 Gaudi::Property<bool> m_doNoise{
73 this, "DoNoise", true, "Flag of noise simulation"
74 };
75
76 Gaudi::Property<bool> m_cosmics{
77 this, "Cosmics", false, "Is this for Cosmics simulation?"
78 };
79
80
81};
82
83#endif // PIXELDIGITIZATION_FrontEndSimTool_H
static const InterfaceID IID_IFrontEndSimTool("FrontEndSimTool", 1, 0)
InDetRawDataCollection< PixelRDORawData > PixelRDO_Collection
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
SG::ReadCondHandleKey< PixelChargeCalibCondData > m_chargeDataKey
ServiceHandle< InDetDD::IPixelReadoutManager > m_pixelReadout
Gaudi::Property< bool > m_cosmics
virtual StatusCode initialize() override
FrontEndSimTool(const std::string &type, const std::string &name, const IInterface *parent)
virtual void process(SiChargedDiodeCollection &chargedDiodes, PixelRDO_Collection &rdoCollection, CLHEP::HepRandomEngine *rndmEngine) const =0
static constexpr double m_bunchSpace
ToolHandle< IInDetConditionsTool > m_pixelConditionsTool
Gaudi::Property< bool > m_doNoise
static const InterfaceID & interfaceID()
Gaudi::Property< int > m_BarrelEC
virtual ~FrontEndSimTool()
virtual StatusCode finalize() override