5#ifndef TRT_DIGITIZATION_TRTDIGITIZATIONTOOL_H
6#define TRT_DIGITIZATION_TRTDIGITIZATIONTOOL_H
16#include "GaudiKernel/ServiceHandle.h"
17#include "GaudiKernel/ToolHandle.h"
30#include "HepPDT/ParticleDataTable.hh"
31#include "GaudiKernel/IPartPropSvc.h"
51 class HepRandomEngine;
72 virtual StatusCode
initialize()
override final;
75 virtual StatusCode
finalize()
override final;
78 virtual StatusCode
mergeEvent(
const EventContext& ctx)
override final;
88 virtual StatusCode
prepareEvent(
const EventContext& ctx,
const unsigned int nInputEvents )
override final;
100 CLHEP::HepRandomEngine*
getRandomEngine(
const std::string& streamName,
const EventContext& ctx)
const;
101 CLHEP::HepRandomEngine*
getRandomEngine(
const std::string& streamName,
unsigned long int randomSeedOffset,
const EventContext& ctx)
const;
106 bool& statusok )
const;
111 std::set<int>& sim_hitids,
112 std::set<Identifier>& simhitsIdentifiers,
113 CLHEP::HepRandomEngine *rndmEngine,
114 CLHEP::HepRandomEngine *strawRndmEngine,
115 CLHEP::HepRandomEngine *elecProcRndmEngine,
116 CLHEP::HepRandomEngine *elecNoiseRndmEngine,
117 CLHEP::HepRandomEngine *paiRndmEngine);
123 ToolHandle<ITRT_PAITool>
m_TRTpaiToolXe{
this,
"PAI_Tool_Xe",
"TRT_PAI_Process_Xe",
"The PAI model for ionisation in the TRT Xe gas"};
124 ToolHandle<ITRT_PAITool>
m_TRTpaiToolAr{
this,
"PAI_Tool_Ar",
"TRT_PAI_Process_Ar",
"The PAI model for ionisation in the TRT Ar gas"};
125 ToolHandle<ITRT_PAITool>
m_TRTpaiToolKr{
this,
"PAI_Tool_Kr",
"TRT_PAI_Process_Kr",
"The PAI model for ionisation in the TRT Kr gas"};
126 ToolHandle<ITRT_SimDriftTimeTool>
m_TRTsimdrifttimetool{
this,
"SimDriftTimeTool",
"TRT_SimDriftTimeTool",
"Drift time versus distance (r-t-relation) for TRT straws"};
127 ToolHandle<ITRT_StrawStatusSummaryTool>
m_sumTool{
this,
"InDetTRTStrawStatusSummaryTool",
"TRT_StrawStatusSummaryTool",
""};
128 ToolHandle<ITRT_CalDbTool>
m_calDbTool{
this,
"InDetTRTCalDbTool",
"TRT_CalDbTool",
""};
134 "Name of the Magnetic Field conditions object key"};
136 "Name of the TRT Detector Element container conditions object key"};
137 Gaudi::Property<bool>
m_onlyUseContainerName{
this,
"OnlyUseContainerName",
true,
"Don't use the ReadHandleKey directly. Just extract the container name from it."};
152 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.