![]() |
PandaRoot
|
Class for Hough space based on TH2S (for the moment). Saves the hits which enter this Hough space and finds peaks. More...
#include <PndFtsHoughSpace.h>
Public Member Functions | |
PndFtsHoughSpace (const char *name=nullptr, const Int_t refIndex=-1, PndFtsHoughSpaceBinning binning=PndFtsHoughSpaceBinning(), Double_t zRefPos=0., Double_t interceptZx=0., PndFtsHoughTrackCand *associatedTrackCand=nullptr, PndFtsHoughTrackerTask *trackerTask=nullptr) | |
~PndFtsHoughSpace () | |
std::vector< PndFtsHoughTracklet > | FindAllPeaksScanPathsMergeBins (const UInt_t minHeight) |
Finds all peaks that satisfy the minimum height requirement minHeight. More... | |
std::vector< PndFtsHoughTracklet > | FindAllPeaksScanPathsMergeBinsCalculatingPaths (const UInt_t minHeight) |
Finds all peaks that satisfy the minimum height requirement minHeight. More... | |
std::vector< PndFtsHoughTracklet > | FindAllPeaksWithTSpectrum2 (const UInt_t minHeight) |
Finds all peaks that satisfy the minimum height requirement minHeight. More... | |
std::vector< PndFtsHoughTracklet > | FindAllPeaksBinsWoMergingWithSearchWindow (const UInt_t minHeight, const Int_t vicinityLength=0) |
Finds all peaks that satisfy the minimum height requirement minHeight. More... | |
std::vector< PndFtsHoughTracklet > | FindAllPeaksBlanko (const UInt_t minHeight) |
Finds all peaks that satisfy the minimum height requirement minHeight. More... | |
void | FillHoughSpace () |
Fills the Hough space using the equation which corresponds to the name of the Hough space. More... | |
void | Print () const |
void | setVerbose (Int_t verbose) |
Double_t | getInterceptZx () const |
Double_t | getZRefPos () const |
UInt_t | GetNHits () const |
ClassDef (PndFtsHoughSpace, 1) | |
Class for Hough space based on TH2S (for the moment). Saves the hits which enter this Hough space and finds peaks.
Note //! after a member means for root that it should not write it to disk when the object is saved
TODO Save path through Hough spaces with global indices!!! TODO: Separate peak finder from Hough space
The angle (theta in rad) is always on x-axis, the value on the y-axis depends on the kind of Hough transform:
HT type | yValue |
---|---|
parabola | Q/p_{zx} |
line | intercept (Achsenabschnitt) (in z-x- or z-y-plane) |
All FTS hits are scanned within the constructor by filterInputHits(). The hits which are relevant for this Hough space are saved in fHitId and can be accessed with getHit(UInt_t index).
Created: 21.02.2014
Definition at line 61 of file PndFtsHoughSpace.h.
PndFtsHoughSpace::PndFtsHoughSpace | ( | const char * | name = nullptr , |
const Int_t | refIndex = -1 , |
||
PndFtsHoughSpaceBinning | binning = PndFtsHoughSpaceBinning() , |
||
Double_t | zRefPos = 0. , |
||
Double_t | interceptZx = 0. , |
||
PndFtsHoughTrackCand * | associatedTrackCand = nullptr , |
||
PndFtsHoughTrackerTask * | trackerTask = nullptr |
||
) |
PndFtsHoughSpace::~PndFtsHoughSpace | ( | ) |
PndFtsHoughSpace::ClassDef | ( | PndFtsHoughSpace | , |
1 | |||
) |
Referenced by GetNHits().
void PndFtsHoughSpace::FillHoughSpace | ( | ) |
Fills the Hough space using the equation which corresponds to the name of the Hough space.
If something goes wrong the function throws a runtime_error (probably Hough space name is set incorrectly).
!!! WARNING The theta values (in rad) are NOT the same as in the interaction point. They are always calculated relative to a shifted coordinate system and only 2-dimensional (either in z-x- or z-y-plane) !!!
The angle (theta in rad) to the z-axis in the z-x- or z-y-plane at a z reference position will be scanned from theta corresponding to lowest bin to theta corresponding to highest bin of x-axis.
TODO For each hit the "path" through the 2d histogram is saved for peak finding.
y component of B field will be read from field maps if fKeepBConstant is kFALSE.
[in] | Running | index, only needed for Debugging output of Hough spaces |
std::vector<PndFtsHoughTracklet> PndFtsHoughSpace::FindAllPeaksBinsWoMergingWithSearchWindow | ( | const UInt_t | minHeight, |
const Int_t | vicinityLength = 0 |
||
) |
Finds all peaks that satisfy the minimum height requirement minHeight.
minHeight | only bins of at least this height are regarded as possibly belonging to a peak. |
std::vector<PndFtsHoughTracklet> PndFtsHoughSpace::FindAllPeaksBlanko | ( | const UInt_t | minHeight | ) |
Finds all peaks that satisfy the minimum height requirement minHeight.
minHeight | only bins of at least this height are regarded as possibly belonging to a peak. |
std::vector<PndFtsHoughTracklet> PndFtsHoughSpace::FindAllPeaksScanPathsMergeBins | ( | const UInt_t | minHeight | ) |
Finds all peaks that satisfy the minimum height requirement minHeight.
minHeight | only bins of at least this height are regarded as possibly belonging to a peak. |
std::vector<PndFtsHoughTracklet> PndFtsHoughSpace::FindAllPeaksScanPathsMergeBinsCalculatingPaths | ( | const UInt_t | minHeight | ) |
Finds all peaks that satisfy the minimum height requirement minHeight.
minHeight | only bins of at least this height are regarded as possibly belonging to a peak. |
std::vector<PndFtsHoughTracklet> PndFtsHoughSpace::FindAllPeaksWithTSpectrum2 | ( | const UInt_t | minHeight | ) |
Finds all peaks that satisfy the minimum height requirement minHeight.
minHeight | only bins of at least this height are regarded as possibly belonging to a peak. |
|
inline |
Definition at line 149 of file PndFtsHoughSpace.h.
|
inline |
Definition at line 153 of file PndFtsHoughSpace.h.
References ClassDef(), cos(), and sin().
Referenced by Print().
|
inline |
Definition at line 151 of file PndFtsHoughSpace.h.
|
inline |
Definition at line 309 of file PndFtsHoughSpace.h.
References PndFtsHoughTrackerTask::GetEventNr(), PndFtsHoughTrackerTask::GetFtsHit(), PndFtsHoughTrackerTask::GetFtsTube(), GetNHits(), PndFtsTube::GetPosition(), PndFtsHit::GetSkewed(), PndFtsTube::GetWireDirection(), PndFtsHoughTrackCand::getXLabSys(), and i.
|
inline |
Definition at line 147 of file PndFtsHoughSpace.h.