ATLAS Offline Software
HighGranularityTimingDetector
HGTD_Reconstruction
HGTD_RecToolInterfaces
HGTD_RecToolInterfaces
IHGTD_TrackTimeExtensionTool.h
Go to the documentation of this file.
1
18
#ifndef IHGTD_TRACKTIMEEXTENSIONTOOL_H
19
#define IHGTD_TRACKTIMEEXTENSIONTOOL_H
20
21
#include "GaudiKernel/IAlgTool.h"
22
#include "
HGTD_PrepRawData/HGTD_ClusterContainer.h
"
23
#include "
HGTD_RecToolInterfaces/IHGTD_ClusterTruthTool.h
"
24
#include "
TrkTrack/Track.h
"
25
#include "
TrkTrack/TrackStateOnSurface.h
"
26
#include "
xAODTracking/TrackParticle.h
"
27
#include "
AtlasHepMC/GenEvent.h
"
28
#include <memory>
29
30
namespace
HGTD
{
31
32
struct
ExtensionObject
{
33
// track states after extrapolation, can be of hole type
34
std::array<std::unique_ptr<const Trk::TrackStateOnSurface>, 4>
m_hits
;
35
// truth info about primary hits left by the truth particles
36
// is kept independent of them being found during the track extension
37
std::array<const HGTD_Cluster*, 4>
m_truth_primary_hits
= {
nullptr
,
nullptr
,
nullptr
,
nullptr
};
38
std::array<HGTD::ClusterTruthInfo, 4>
m_truth_primary_info
;
39
// point of extrapolation on HGTD layer closest to IP
40
float
m_extrap_x
= 0;
41
float
m_extrap_y
= 0;
42
};
43
44
}
// namespace HGTD
45
46
class
IHGTD_TrackTimeExtensionTool
:
virtual
public
IAlgTool {
47
48
public
:
50
DeclareInterfaceID
(
IHGTD_TrackTimeExtensionTool
, 1, 0);
51
62
virtual
HGTD::ExtensionObject
63
extendTrackToHGTD
(
const
EventContext& ctx,
64
const
xAOD::TrackParticle
&
track
,
65
const
HGTD_ClusterContainer
* container,
66
const
HepMC::GenEvent* hs_event =
nullptr
,
67
const
InDetSimDataCollection
* sim_data =
nullptr
)
const
= 0;
68
};
69
70
#endif // IHGTD_TRACKTIMEEXTENSIONTOOL_H
HGTD::ExtensionObject
Definition:
IHGTD_TrackTimeExtensionTool.h:32
GenEvent.h
IHGTD_ClusterTruthTool.h
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration.
InDetSimDataCollection
Definition:
InDetSimDataCollection.h:25
HGTD::ExtensionObject::m_truth_primary_hits
std::array< const HGTD_Cluster *, 4 > m_truth_primary_hits
Definition:
IHGTD_TrackTimeExtensionTool.h:37
Track.h
HGTD
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.
Definition:
Clustering.h:28
IHGTD_TrackTimeExtensionTool::DeclareInterfaceID
DeclareInterfaceID(IHGTD_TrackTimeExtensionTool, 1, 0)
Creates the InterfaceID and interfaceID() method.
IHGTD_TrackTimeExtensionTool::extendTrackToHGTD
virtual HGTD::ExtensionObject extendTrackToHGTD(const EventContext &ctx, const xAOD::TrackParticle &track, const HGTD_ClusterContainer *container, const HepMC::GenEvent *hs_event=nullptr, const InDetSimDataCollection *sim_data=nullptr) const =0
Extends a track to (up to) 4 measurements in HGTD.
HGTD::ExtensionObject::m_extrap_x
float m_extrap_x
Definition:
IHGTD_TrackTimeExtensionTool.h:40
TrackParticle.h
HGTD::ExtensionObject::m_hits
std::array< std::unique_ptr< const Trk::TrackStateOnSurface >, 4 > m_hits
Definition:
IHGTD_TrackTimeExtensionTool.h:34
Trk::PrepRawDataContainer
Definition:
PrepRawDataContainer.h:26
IHGTD_TrackTimeExtensionTool
Definition:
IHGTD_TrackTimeExtensionTool.h:46
HGTD::ExtensionObject::m_truth_primary_info
std::array< HGTD::ClusterTruthInfo, 4 > m_truth_primary_info
Definition:
IHGTD_TrackTimeExtensionTool.h:38
xAOD::track
@ track
Definition:
TrackingPrimitives.h:512
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition:
TrackParticle_v1.h:43
HGTD::ExtensionObject::m_extrap_y
float m_extrap_y
Definition:
IHGTD_TrackTimeExtensionTool.h:41
HGTD_ClusterContainer.h
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration.
TrackStateOnSurface.h
Generated on Thu Nov 7 2024 21:16:41 for ATLAS Offline Software by
1.8.18