5#ifndef TRT_DIGITIZATION_TRTDIGITIZATIONTOOL_H
6#define TRT_DIGITIZATION_TRTDIGITIZATIONTOOL_H
16#include "GaudiKernel/ServiceHandle.h"
17#include "GaudiKernel/ToolHandle.h"
29#include "HepPDT/ParticleDataTable.hh"
30#include "GaudiKernel/IPartPropSvc.h"
50 class HepRandomEngine;
71 virtual StatusCode
initialize()
override final;
74 virtual StatusCode
finalize()
override final;
77 virtual StatusCode
mergeEvent(
const EventContext& ctx)
override final;
87 virtual StatusCode
prepareEvent(
const EventContext& ctx,
const unsigned int nInputEvents )
override final;
99 CLHEP::HepRandomEngine*
getRandomEngine(
const std::string& streamName,
const EventContext& ctx)
const;
100 CLHEP::HepRandomEngine*
getRandomEngine(
const std::string& streamName,
unsigned long int randomSeedOffset,
const EventContext& ctx)
const;
105 bool& statusok )
const;
110 std::set<int>& sim_hitids,
111 std::set<Identifier>& simhitsIdentifiers,
112 CLHEP::HepRandomEngine *rndmEngine,
113 CLHEP::HepRandomEngine *strawRndmEngine,
114 CLHEP::HepRandomEngine *elecProcRndmEngine,
115 CLHEP::HepRandomEngine *elecNoiseRndmEngine,
116 CLHEP::HepRandomEngine *paiRndmEngine);
122 ToolHandle<ITRT_PAITool>
m_TRTpaiToolXe{
this,
"PAI_Tool_Xe",
"TRT_PAI_Process_Xe",
"The PAI model for ionisation in the TRT Xe gas"};
123 ToolHandle<ITRT_PAITool>
m_TRTpaiToolAr{
this,
"PAI_Tool_Ar",
"TRT_PAI_Process_Ar",
"The PAI model for ionisation in the TRT Ar gas"};
124 ToolHandle<ITRT_PAITool>
m_TRTpaiToolKr{
this,
"PAI_Tool_Kr",
"TRT_PAI_Process_Kr",
"The PAI model for ionisation in the TRT Kr gas"};
125 ToolHandle<ITRT_SimDriftTimeTool>
m_TRTsimdrifttimetool{
this,
"SimDriftTimeTool",
"TRT_SimDriftTimeTool",
"Drift time versus distance (r-t-relation) for TRT straws"};
126 ToolHandle<ITRT_StrawStatusSummaryTool>
m_sumTool{
this,
"InDetTRTStrawStatusSummaryTool",
"TRT_StrawStatusSummaryTool",
""};
127 ToolHandle<ITRT_CalDbTool>
m_calDbTool{
this,
"InDetTRTCalDbTool",
"TRT_CalDbTool",
""};
133 "Name of the Magnetic Field conditions object key"};
134 Gaudi::Property<bool>
m_onlyUseContainerName{
this,
"OnlyUseContainerName",
true,
"Don't use the ReadHandleKey directly. Just extract the container name from it."};
149 std::vector<std::pair<unsigned int, int> >
m_seen;
Abstract interface to information on straws electronic grouping.
the preferred mechanism to access information from the different event stores in a pileup job.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Handle class for recording to StoreGate.
This is a "hash" representation of an Identifier.
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Communication with CondDB.
Class containing parameters and settings used by TRT digitization.
Simulation of noise hits in the TRT.
TRT Digitization: Processing of a TRT Straws.
This is an Identifier helper class for the TRT subdetector.