#include <FPGATrackSimLLPDoubletHoughTransformTool.h>
|
Gaudi::Property< unsigned > | m_imageSize_x { this, "nBins_x", 0, ""} |
|
Gaudi::Property< unsigned > | m_imageSize_y { this, "nBins_y", 0, ""} |
|
Gaudi::Property< int > | m_threshold { this, "m_threshold", 8, "Threshold to be allied to bins of abs(d0) > 50 (mm)"} |
|
Gaudi::Property< int > | m_threshold50 { this, "m_threshold50", 8, "Threshold to be allied to bins of abs(d0) < (mm)"} |
|
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."} |
|
Gaudi::Property< float > | m_d0_range { this, "d0_range", 120, "The d0 span: (-range, range) in mm"} |
|
Gaudi::Property< float > | m_qOverPt_range { this, "qOverPt_range", 0.002, "The q/pT span: (-range, range) in e/MeV"} |
|
Gaudi::Property< bool > | m_continuous { this, "continuous", true, "assure that there is continuity of the line (i.e. middle bins in d0 are filled when one q/pT step would result in a hole)"} |
|
std::vector< FPGATrackSimRoad > | m_roads |
|
const double | m_acceptedDistanceBetweenLayersMin = 200 |
|
const double | m_acceptedDistanceBetweenLayersMax = 600 |
|
double | m_step_x = 0 |
|
double | m_step_y = 0 |
|
unsigned | m_event = 0 |
|
int | m_eventsProcessed = 0 |
|
int | m_roadsGenerated = 0 |
|
◆ Image
◆ FPGATrackSimLLPDoubletHoughTransformTool()
FPGATrackSimLLPDoubletHoughTransformTool::FPGATrackSimLLPDoubletHoughTransformTool |
( |
const std::string & |
algname, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
ifc |
|
) |
| |
◆ createRoad()
Definition at line 142 of file FPGATrackSimLLPDoubletHoughTransformTool.cxx.
144 std::vector<std::shared_ptr<const FPGATrackSimHit>> road_hits;
146 for (
const auto & hit :
hits)
148 road_hits.push_back(hit);
149 hitLayers |= 1 << hit->getLayer();
153 sorted_hits.resize(8);
156 r.setHitLayers(hitLayers);
157 r.setHits(std::move(sorted_hits));
◆ drawImage()
void FPGATrackSimLLPDoubletHoughTransformTool::drawImage |
( |
Image const & |
image | ) |
const |
|
private |
◆ fillImage()
Definition at line 102 of file FPGATrackSimLLPDoubletHoughTransformTool.cxx.
105 const pvec halfDiff = (
p2 -
p1)*0.5;
115 const pvec center =
p1 + halfDiff + rprime;
122 if (xbefore == -1) xbefore =
x;
124 const int xmin = (xbefore <
x)? xbefore:
x;
125 const int xmax = (xbefore <
x)?
x: xbefore;
126 for (
int xinterpolated =
xmin; xinterpolated <=
xmax; ++xinterpolated) {
127 image(xinterpolated,
y).first++;
128 image(xinterpolated,
y).second.insert( hit1 );
129 image(xinterpolated,
y).second.insert( hit2 );
133 image(
x,
y).second.insert( hit1 );
134 image(
x,
y).second.insert( hit2 );
139 return StatusCode::SUCCESS;
◆ finalize()
StatusCode FPGATrackSimLLPDoubletHoughTransformTool::finalize |
( |
| ) |
|
|
overridevirtual |
◆ getRoads()
Definition at line 62 of file FPGATrackSimLLPDoubletHoughTransformTool.cxx.
67 for (
unsigned ihit1 = 0; ihit1 <
hits.size(); ihit1++) {
68 std::shared_ptr<const FPGATrackSimHit> hit1 =
hits[ihit1];
69 for (
unsigned ihit2 = ihit1+1; ihit2 <
hits.size(); ihit2++) {
70 std::shared_ptr<const FPGATrackSimHit> hit2 =
hits[ihit2];
73 const double radiusDifference = hit2->
getR() - hit1->
getR();
98 return StatusCode::SUCCESS;
◆ initialize()
StatusCode FPGATrackSimLLPDoubletHoughTransformTool::initialize |
( |
| ) |
|
|
overridevirtual |
◆ isLocalMaxima()
bool FPGATrackSimLLPDoubletHoughTransformTool::isLocalMaxima |
( |
Image const & |
image, |
|
|
int |
x, |
|
|
int |
y |
|
) |
| const |
|
private |
◆ passThreshold()
bool FPGATrackSimLLPDoubletHoughTransformTool::passThreshold |
( |
Image const & |
image, |
|
|
int |
x, |
|
|
int |
y |
|
) |
| const |
|
private |
◆ xtod0()
float FPGATrackSimLLPDoubletHoughTransformTool::xtod0 |
( |
int |
x | ) |
const |
|
inlineprivate |
◆ ytoqoverpt()
float FPGATrackSimLLPDoubletHoughTransformTool::ytoqoverpt |
( |
int |
y | ) |
const |
|
inlineprivate |
◆ m_acceptedDistanceBetweenLayersMax
const double FPGATrackSimLLPDoubletHoughTransformTool::m_acceptedDistanceBetweenLayersMax = 600 |
|
private |
◆ m_acceptedDistanceBetweenLayersMin
const double FPGATrackSimLLPDoubletHoughTransformTool::m_acceptedDistanceBetweenLayersMin = 200 |
|
private |
◆ m_continuous
Gaudi::Property<bool> FPGATrackSimLLPDoubletHoughTransformTool::m_continuous { this, "continuous", true, "assure that there is continuity of the line (i.e. middle bins in d0 are filled when one q/pT step would result in a hole)"} |
|
private |
◆ m_d0_range
Gaudi::Property<float> FPGATrackSimLLPDoubletHoughTransformTool::m_d0_range { this, "d0_range", 120, "The d0 span: (-range, range) in mm"} |
|
private |
◆ m_event
unsigned FPGATrackSimLLPDoubletHoughTransformTool::m_event = 0 |
|
private |
◆ m_eventsProcessed
int FPGATrackSimLLPDoubletHoughTransformTool::m_eventsProcessed = 0 |
|
private |
◆ m_imageSize_x
Gaudi::Property<unsigned> FPGATrackSimLLPDoubletHoughTransformTool::m_imageSize_x { this, "nBins_x", 0, ""} |
|
private |
◆ m_imageSize_y
Gaudi::Property<unsigned> FPGATrackSimLLPDoubletHoughTransformTool::m_imageSize_y { this, "nBins_y", 0, ""} |
|
private |
◆ m_qOverPt_range
Gaudi::Property<float> FPGATrackSimLLPDoubletHoughTransformTool::m_qOverPt_range { this, "qOverPt_range", 0.002, "The q/pT span: (-range, range) in e/MeV"} |
|
private |
◆ m_roads
◆ m_roadsGenerated
int FPGATrackSimLLPDoubletHoughTransformTool::m_roadsGenerated = 0 |
|
private |
◆ m_step_x
double FPGATrackSimLLPDoubletHoughTransformTool::m_step_x = 0 |
|
private |
◆ m_step_y
double FPGATrackSimLLPDoubletHoughTransformTool::m_step_y = 0 |
|
private |
◆ m_threshold
Gaudi::Property<int> FPGATrackSimLLPDoubletHoughTransformTool::m_threshold { this, "m_threshold", 8, "Threshold to be allied to bins of abs(d0) > 50 (mm)"} |
|
private |
◆ m_threshold50
Gaudi::Property<int> FPGATrackSimLLPDoubletHoughTransformTool::m_threshold50 { this, "m_threshold50", 8, "Threshold to be allied to bins of abs(d0) < (mm)"} |
|
private |
◆ m_traceHits
Gaudi::Property<bool> FPGATrackSimLLPDoubletHoughTransformTool::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."} |
|
private |
The documentation for this class was generated from the following files: