ATLAS Offline Software
Trigger
EFTracking
FPGATrackSim
FPGATrackSimLRT
FPGATrackSimLRT
FPGATrackSimLLPRoadFilterTool.h
Go to the documentation of this file.
1
// Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
9
#ifndef FPGATrackSim_LLPROADFILTERTOOL_H
10
#define FPGATrackSim_LLPROADFILTERTOOL_H
11
12
#include "
AthenaBaseComps/AthAlgTool.h
"
13
#include "
FPGATrackSimObjects/FPGATrackSimTrack.h
"
14
#include "
FPGATrackSimObjects/FPGATrackSimHit.h
"
15
16
#include <string>
17
#include <vector>
18
19
class
FPGATrackSimLLPRoadFilterTool
:
public
AthAlgTool
{
20
public
:
21
FPGATrackSimLLPRoadFilterTool
(
const
std::string&
algname
,
const
std::string&
name
,
const
IInterface* ifc);
22
23
StatusCode
filterUsedHits
(std::vector<FPGATrackSimTrack> &tracks,
24
const
std::vector<const FPGATrackSimHit*>& allHits,
25
std::vector<const FPGATrackSimHit*>& unusedHits );
26
27
private
:
28
// Make a list of all hits used in any track
29
struct
HitCompare
{
30
bool
operator()
(
const
FPGATrackSimHit
*
a
,
const
FPGATrackSimHit
*
b
)
const
{
31
auto
hash_a =
a
->getIdentifierHash();
32
auto
hash_b =
b
->getIdentifierHash();
33
if
( hash_a == hash_b ) {
34
auto
phi_a =
a
->getPhiCoord();
35
auto
phi_b =
b
->getPhiCoord();
36
if
( phi_a == phi_b ) {
37
auto
eta_a =
a
->getEtaCoord();
38
auto
eta_b =
b
->getEtaCoord();
39
if
( eta_a == eta_b) {
40
auto
layer_a =
a
->getLayer();
41
auto
layer_b =
b
->getLayer();
42
return
layer_a < layer_b;
43
}
44
return
eta_a < eta_b;
45
}
46
return
phi_a < phi_b;
47
}
48
return
hash_a < hash_b;
49
}
50
};
51
52
};
53
54
#endif
FPGATrackSimLLPRoadFilterTool
Definition:
FPGATrackSimLLPRoadFilterTool.h:19
getMenu.algname
algname
Definition:
getMenu.py:53
FPGATrackSimLLPRoadFilterTool::filterUsedHits
StatusCode filterUsedHits(std::vector< FPGATrackSimTrack > &tracks, const std::vector< const FPGATrackSimHit * > &allHits, std::vector< const FPGATrackSimHit * > &unusedHits)
Definition:
FPGATrackSimLLPRoadFilterTool.cxx:9
FPGATrackSimLLPRoadFilterTool::HitCompare::operator()
bool operator()(const FPGATrackSimHit *a, const FPGATrackSimHit *b) const
Definition:
FPGATrackSimLLPRoadFilterTool.h:30
FPGATrackSimHit
Definition:
FPGATrackSimHit.h:38
FPGATrackSimLLPRoadFilterTool::HitCompare
Definition:
FPGATrackSimLLPRoadFilterTool.h:29
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
FPGATrackSimLLPRoadFilterTool::FPGATrackSimLLPRoadFilterTool
FPGATrackSimLLPRoadFilterTool(const std::string &algname, const std::string &name, const IInterface *ifc)
Definition:
FPGATrackSimLLPRoadFilterTool.cxx:5
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:192
plotBeamSpotMon.b
b
Definition:
plotBeamSpotMon.py:77
FPGATrackSimHit.h
: FPGATrackSim-specific class to represent an hit in the detector.
a
TList * a
Definition:
liststreamerinfos.cxx:10
AthAlgTool
Definition:
AthAlgTool.h:26
FPGATrackSimTrack.h
Generated on Sun Jun 30 2024 21:16:02 for ATLAS Offline Software by
1.8.18