ATLAS Offline Software
FPGATrackSimHoughFunctions.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3  */
4 #ifndef FPGATrackSimHoughFUNCTIONS_H
5 #define FPGATrackSimHoughFUNCTIONS_H
6 
10 #include "GaudiKernel/ServiceHandle.h"
12 
16 
17 #include "GaudiKernel/ToolHandle.h"
19 
21 
22 long getVolumeID(const FPGATrackSimHit & hit);
23 long getCoarseID(const FPGATrackSimHit & hit);
24 long getFineID(const FPGATrackSimHit & hit);
25 bool isFineIDInStrip(long ID);
26 bool isFineIDInPixel(long ID);
27 
28 void getMissingInfo(const FPGATrackSimRoad & road, int & nMissing, bool & missPixel, bool & missStrip, layer_bitmask_t & missing_mask, layer_bitmask_t & norecovery_mask, const ServiceHandle<IFPGATrackSimMappingSvc> & FPGATrackSimMapping, const TrackCorrType idealCoordFitType);
29 void makeTrackCandidates(const FPGATrackSimRoad & road, const FPGATrackSimTrack & temp, std::vector<FPGATrackSimTrack>& track_cands, const ServiceHandle<IFPGATrackSimMappingSvc> & FPGATrackSimMapping);
30 StatusCode runOverlapRemoval(std::vector<FPGATrackSimTrack>& tracks, const float minChi2, const int NumOfHitPerGrouping, ORAlgo orAlgo, ToolHandle<GenericMonitoringTool> & monTool, bool compareAllHits = false);
31 void findMinChi2MaxHit(const std::vector<int>& duplicates, std::vector<FPGATrackSimTrack>& RMtracks, std::vector<int> flags_OR, const float minChi2);
32 int findNonOverlapHits(const FPGATrackSimTrack& Track1, const FPGATrackSimTrack& Track2);
33 int findNCommonHits(const FPGATrackSimTrack& Track1, const FPGATrackSimTrack& Track2);
34 int findNCommonHitsGlobal(const FPGATrackSimTrack& Track1, const FPGATrackSimTrack& Track2);
35 void roadsToTrack(std::vector<std::shared_ptr<const FPGATrackSimRoad>>& roads, std::vector<FPGATrackSimTrack>& track_cands, const FPGATrackSimPlaneMap *pmap);
36 
37 
38 #endif // FPGATrackSimHoughFUNCTIONS_H
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
FPGATrackSimTrack
Definition: FPGATrackSimTrack.h:18
FPGATrackSimPlaneMap.h
Maps physical layers to logical layers.
IFPGATrackSimMappingSvc.h
ORAlgo
ORAlgo
Definition: FPGATrackSimHoughFunctions.h:20
ORAlgo::Normal
@ Normal
findNonOverlapHits
int findNonOverlapHits(const FPGATrackSimTrack &Track1, const FPGATrackSimTrack &Track2)
Definition: FPGATrackSimHoughFunctions.cxx:144
getCoarseID
long getCoarseID(const FPGATrackSimHit &hit)
Definition: FPGATrackSimHoughFunctions.cxx:587
FPGATrackSimHit
Definition: FPGATrackSimHit.h:41
FPGATrackSimRegionMap.h
Maps ITK module indices to FPGATrackSim regions.
findMinChi2MaxHit
void findMinChi2MaxHit(const std::vector< int > &duplicates, std::vector< FPGATrackSimTrack > &RMtracks, std::vector< int > flags_OR, const float minChi2)
Definition: FPGATrackSimHoughFunctions.cxx:190
roadsToTrack
void roadsToTrack(std::vector< std::shared_ptr< const FPGATrackSimRoad >> &roads, std::vector< FPGATrackSimTrack > &track_cands, const FPGATrackSimPlaneMap *pmap)
Definition: FPGATrackSimHoughFunctions.cxx:674
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
getFineID
long getFineID(const FPGATrackSimHit &hit)
Definition: FPGATrackSimHoughFunctions.cxx:624
AthAlgTool.h
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
FPGATrackSimPlaneMap
Definition: FPGATrackSimPlaneMap.h:62
isFineIDInPixel
bool isFineIDInPixel(long ID)
Definition: FPGATrackSimHoughFunctions.cxx:619
FPGATrackSimHit.h
: FPGATrackSim-specific class to represent an hit in the detector.
ORAlgo::InvertGrouping
@ InvertGrouping
getVolumeID
long getVolumeID(const FPGATrackSimHit &hit)
Definition: FPGATrackSimHoughFunctions.cxx:532
runOverlapRemoval
StatusCode runOverlapRemoval(std::vector< FPGATrackSimTrack > &tracks, const float minChi2, const int NumOfHitPerGrouping, ORAlgo orAlgo, ToolHandle< GenericMonitoringTool > &monTool, bool compareAllHits=false)
Definition: FPGATrackSimHoughFunctions.cxx:15
makeTrackCandidates
void makeTrackCandidates(const FPGATrackSimRoad &road, const FPGATrackSimTrack &temp, std::vector< FPGATrackSimTrack > &track_cands, const ServiceHandle< IFPGATrackSimMappingSvc > &FPGATrackSimMapping)
Creates a list of track candidates by taking all possible combination of hits in road.
Definition: FPGATrackSimHoughFunctions.cxx:463
layer_bitmask_t
uint32_t layer_bitmask_t
Definition: FPGATrackSimTypes.h:22
FPGATrackSimRoad.h
Defines a class for roads.
TrackCorrType
TrackCorrType
Definition: FPGATrackSimTypes.h:37
isFineIDInStrip
bool isFineIDInStrip(long ID)
Definition: FPGATrackSimHoughFunctions.cxx:614
findNCommonHitsGlobal
int findNCommonHitsGlobal(const FPGATrackSimTrack &Track1, const FPGATrackSimTrack &Track2)
Definition: FPGATrackSimHoughFunctions.cxx:307
getMissingInfo
void getMissingInfo(const FPGATrackSimRoad &road, int &nMissing, bool &missPixel, bool &missStrip, layer_bitmask_t &missing_mask, layer_bitmask_t &norecovery_mask, const ServiceHandle< IFPGATrackSimMappingSvc > &FPGATrackSimMapping, const TrackCorrType idealCoordFitType)
Definition: FPGATrackSimHoughFunctions.cxx:401
generateReferenceFile.duplicates
duplicates
Definition: generateReferenceFile.py:24
FPGATrackSimTrack.h
findNCommonHits
int findNCommonHits(const FPGATrackSimTrack &Track1, const FPGATrackSimTrack &Track2)
Definition: FPGATrackSimHoughFunctions.cxx:352
FPGATrackSimRoad
Definition: FPGATrackSimRoad.h:31
ServiceHandle< IFPGATrackSimMappingSvc >