|
ATLAS Offline Software
|
#include <FPGATrackSimClusteringTool.h>
◆ FPGATrackSimClusteringTool()
FPGATrackSimClusteringTool::FPGATrackSimClusteringTool |
( |
const std::string & |
algname, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
ifc |
|
) |
| |
◆ ~FPGATrackSimClusteringTool()
virtual FPGATrackSimClusteringTool::~FPGATrackSimClusteringTool |
( |
| ) |
|
|
virtualdefault |
◆ Clustering()
Definition at line 74 of file FPGATrackSimClusteringTool.cxx.
77 for(
auto& hit: moduleHits){
78 int is_clustered_hit =0;
81 for(
auto& cluster: moduleClusters){
90 if((is_clustered_hit==0) or (moduleClusters.size()==0)){
94 }
else if(hit.isStrip()){
98 moduleClusters.push_back(cluster);
◆ DoClustering()
Definition at line 24 of file FPGATrackSimClusteringTool.cxx.
30 std::vector<FPGATrackSimHit>
hits = tower.
hits();
32 std::vector<std::vector<FPGATrackSimHit>> hitsPerModule;
33 std::vector<FPGATrackSimCluster> towerClusters;
42 clusters.reserve(towerClusters.size());
44 ATH_MSG_WARNING(
"more than one tower, m_clusters is only going to contain those from the last one");
45 unsigned cluster_count = 0;
46 for (
auto &cluster: towerClusters){
50 tower.
addHit(cluster_as_FPGATrackSimhit);
57 return StatusCode::SUCCESS;
◆ etaOrPhi()
◆ normaliseClusters()
void FPGATrackSimClusteringTool::normaliseClusters |
( |
std::vector< FPGATrackSimCluster > & |
clusters | ) |
const |
|
private |
◆ SortedClustering()
Definition at line 61 of file FPGATrackSimClusteringTool.cxx.
62 std::vector<FPGATrackSimCluster> moduleClusters;
64 for(
auto& moduleHits:sorted_hits){
68 clusters.insert(
clusters.end(), moduleClusters.begin(), moduleClusters.end());
70 moduleClusters.clear();
◆ sortHitsOnModules() [1/2]
void FPGATrackSimClusteringTool::sortHitsOnModules |
( |
std::vector< std::vector< FPGATrackSimHit > > & |
hitsPerModule | ) |
const |
|
private |
◆ sortHitsOnModules() [2/2]
void FPGATrackSimClusteringTool::sortHitsOnModules |
( |
std::vector< std::vector< FPGATrackSimHit > > & |
hitsPerModule, |
|
|
int & |
eta_phi |
|
) |
| const |
|
private |
◆ sortIBLInput()
◆ sortPixelInput()
◆ splitAndSortHits() [1/2]
void FPGATrackSimClusteringTool::splitAndSortHits |
( |
std::vector< FPGATrackSimHit > & |
hits, |
|
|
std::vector< std::vector< FPGATrackSimHit > > & |
hitsPerModule |
|
) |
| const |
|
private |
◆ splitAndSortHits() [2/2]
void FPGATrackSimClusteringTool::splitAndSortHits |
( |
std::vector< FPGATrackSimHit > & |
hits, |
|
|
std::vector< std::vector< FPGATrackSimHit > > & |
hitsPerModule, |
|
|
int & |
eta_phi |
|
) |
| const |
|
private |
◆ splitHitsToModules()
void FPGATrackSimClusteringTool::splitHitsToModules |
( |
std::vector< FPGATrackSimHit > & |
hits, |
|
|
std::vector< std::vector< FPGATrackSimHit > > & |
hitsPerModule |
|
) |
| const |
|
private |
Definition at line 115 of file FPGATrackSimClusteringTool.cxx.
117 std::vector<FPGATrackSimHit> currentModule;
120 for (
auto& hit:
hits){
122 currentModule.push_back(hit);
123 hashing = hit.getIdentifierHash();
124 }
else if (hit.getIdentifierHash() == hashing) {
125 currentModule.push_back(hit);
127 hitsPerModule.push_back(currentModule);
128 currentModule.clear();
129 hashing = hit.getIdentifierHash();
130 currentModule.push_back(hit);
135 if (currentModule.size() > 0) hitsPerModule.push_back(currentModule);
The documentation for this class was generated from the following files:
unsigned getPhysLayer() const
bool sortITkInputPhi(const FPGATrackSimHit &hitA, const FPGATrackSimHit &HitB)
bool updateStripCluster(FPGATrackSimCluster ¤tCluster, FPGATrackSimHit &incomingHit, bool newCluster)
void setPhiCoord(float v)
void setEtaWidth(unsigned v)
void stable_sort(std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, std::reverse_iterator< DataModel_detail::iterator< DVL > > end, Compare comp)
Specialization of stable_sort for DataVector/List.
float getPhiCoord() const
void setEtaCoord(float v)
bool sortITkInputEta(const FPGATrackSimHit &hitA, const FPGATrackSimHit &hitB)
bool updatePixelCluster(FPGATrackSimCluster ¤tCluster, FPGATrackSimHit &incomingHit, bool newCluster)
DetectorZone getDetectorZone() const
void setPhiWidth(unsigned v)
float getEtaCoord() const
constexpr float scaleHitFactor
#define ATH_MSG_WARNING(x)
unsigned getEtaWidth() const
void setParentageMask(unsigned long v)
unsigned getPhiWidth() const
void setHitType(HitType type)