Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
3 #ifndef FPGATrackSimHOUGHTRANSFORM_D0PHI0_TOOL_H
4 #define FPGATrackSimHOUGHTRANSFORM_D0PHI0_TOOL_H
14 #include "GaudiKernel/ServiceHandle.h"
31 #include <unordered_set>
52 virtual StatusCode getRoads(
const std::vector<std::shared_ptr<const FPGATrackSimHit>> &
hits, std::vector<std::shared_ptr<const FPGATrackSimRoad>> & roads)
override;
67 Gaudi::Property <int>
m_subRegion {
this,
"subRegion", 0,
" -1 for entire region (no slicing)"};
70 Gaudi::Property <float>
m_tempMin_d0 {
this,
"d0_min", -1,
"min q/pt"};
71 Gaudi::Property <float>
m_tempMax_d0 {
this,
"d0_max", 1,
"max q/pt"};
72 Gaudi::Property<std::vector<int> >
m_threshold {
this,
"threshold", {1},
"Minimum number of hit layers to fire a road"};
75 Gaudi::Property<std::vector<int> >
m_conv {
this,
"convolution", {},
"Convolution filter, with size m_convSize_y * m_convSize_x"};
76 Gaudi::Property<std::vector<unsigned int> >
m_combineLayers {
this,
"combine_layers", {0,1,2,3,4,5,6,7},
""};
77 Gaudi::Property<std::vector<unsigned int> >
m_binScale {
this,
"scale", {},
"Vector containing the scales for each layers"};
78 Gaudi::Property <unsigned int>
m_convSize_x {
this,
"convSize_x", 0,
""};
79 Gaudi::Property <unsigned int>
m_convSize_y {
this,
"convSize_y", 0,
""};
80 Gaudi::Property<std::vector<unsigned int> >
m_hitExtend_x {
this,
"hitExtend_x", {},
"Hit lines will fill extra bins in x by this amount on each side, size == nLayers"};
81 Gaudi::Property <bool>
m_traceHits {
this,
"traceHits",
true,
"Trace each hit that goes in a bin. Disabling this will save memory/time since each bin doesn't have to store all its hits but the roads created won't have hits from convolution, etc."};
82 Gaudi::Property <bool>
m_stereo {
this,
"stereo",
false,
"Combine stereo layers"};
83 Gaudi::Property <bool>
m_localMaxWindowSize {
this,
"localMaxWindowSize", 0,
"Only create roads that are a local maximum within this window size. Set this to 0 to turn off local max filtering"};
84 Gaudi::Property <bool>
m_useSectors {
this,
"useSectors",
false,
"Will reverse calculate the sector for track-fitting purposes"};
85 Gaudi::Property <bool>
m_idealGeoRoads {
this,
"IdealGeoRoads",
false,
"Set sectors to use ideal geometry fit constants"};
132 Image createLayerImage(std::vector<unsigned>
const & combine_layers,
const std::vector<std::shared_ptr<const FPGATrackSimHit>> &
hits,
unsigned const scale)
const;
139 double yToX(
double y,
const std::shared_ptr<const FPGATrackSimHit> &
h)
const;
140 std::pair<unsigned, unsigned>
yToXBins(
size_t yBin_min,
size_t yBin_max,
const std::shared_ptr<const FPGATrackSimHit> & hit)
const;
145 void addRoad(
const std::unordered_set<std::shared_ptr<const FPGATrackSimHit>> &
hits,
unsigned x,
unsigned y);
146 void addRoad(
const std::vector<std::shared_ptr<const FPGATrackSimHit>> &
hits,
unsigned x,
unsigned y);
154 #endif // FPGATrackSimHOUGHTRANSFORM_D0PHI0_TOOL_H
Defines several vector wrappers for homogenous multi-dimensional vectors, declared as 1D arrays for l...
::StatusCode StatusCode
StatusCode definition for legacy code.
: FPGATrackSim-specific class to represent an hit in the detector.
Defines a class for roads.
Structs that store the 5 track parameters.