ATLAS Offline Software
FrontEndSimTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 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 
23 class SiTotalCharge;
24 //
25 namespace CLHEP{
26  class HepRandomEngine;
27 }
28 
29 static const InterfaceID IID_IFrontEndSimTool("FrontEndSimTool", 1, 0);
30 
31 class FrontEndSimTool: public AthAlgTool, virtual public IAlgTool {
32 public:
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) = 0;
44 
45 
46 
47 private:
49 protected:
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
IInDetConditionsTool.h
FrontEndSimTool::m_thermalNoise
double m_thermalNoise
Definition: FrontEndSimTool.h:54
FrontEndSimTool::FrontEndSimTool
FrontEndSimTool()
FrontEndSimTool::process
virtual void process(SiChargedDiodeCollection &chargedDiodes, PixelRDO_Collection &rdoCollection, CLHEP::HepRandomEngine *rndmEngine)=0
FrontEndSimTool::initialize
virtual StatusCode initialize() override
Definition: FrontEndSimTool.cxx:13
FrontEndSimTool::m_doNoise
Gaudi::Property< bool > m_doNoise
Definition: FrontEndSimTool.h:72
FrontEndSimTool::m_cosmics
Gaudi::Property< bool > m_cosmics
Definition: FrontEndSimTool.h:76
FrontEndSimTool::m_bunchSpace
static constexpr double m_bunchSpace
Definition: FrontEndSimTool.h:50
SiChargedDiodeCollection
Definition: SiChargedDiodeCollection.h:109
FrontEndSimTool::m_timeJitter
double m_timeJitter
Definition: FrontEndSimTool.h:53
PixelRDO_Collection.h
FrontEndSimTool
Definition: FrontEndSimTool.h:31
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
FrontEndSimTool::m_numberOfBcid
int m_numberOfBcid
Definition: FrontEndSimTool.h:51
AthAlgTool.h
InDetRawDataCollection
Definition: InDetRawDataCollection.h:31
test_pyathena.parent
parent
Definition: test_pyathena.py:15
FrontEndSimTool::m_pixelReadout
ServiceHandle< InDetDD::IPixelReadoutManager > m_pixelReadout
Definition: FrontEndSimTool.h:59
FrontEndSimTool::m_BarrelEC
Gaudi::Property< int > m_BarrelEC
Definition: FrontEndSimTool.h:68
IPixelReadoutManager.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
FrontEndSimTool::~FrontEndSimTool
virtual ~FrontEndSimTool()
Definition: FrontEndSimTool.h:40
SG::ReadCondHandleKey< PixelChargeCalibCondData >
SiTotalCharge
Definition: SiTotalCharge.h:24
FrontEndSimTool::finalize
virtual StatusCode finalize() override
Definition: FrontEndSimTool.cxx:27
FrontEndSimTool::m_timeOffset
double m_timeOffset
Definition: FrontEndSimTool.h:52
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
FrontEndSimTool::interfaceID
static const InterfaceID & interfaceID()
Definition: FrontEndSimTool.h:35
FrontEndSimTool::m_chargeDataKey
SG::ReadCondHandleKey< PixelChargeCalibCondData > m_chargeDataKey
Definition: FrontEndSimTool.h:64
AthAlgTool
Definition: AthAlgTool.h:26
PixelChargeCalibCondData.h
FrontEndSimTool::m_pixelConditionsTool
ToolHandle< IInDetConditionsTool > m_pixelConditionsTool
Definition: FrontEndSimTool.h:55
ServiceHandle< InDetDD::IPixelReadoutManager >