MarlinTPC
1.2.0
|
This is the helix track class, which inherits from KalTrackingTemplate and TKalTrack. More...
#include <KalTrackingHelix.h>
Public Member Functions | |
KalTrackingHelix (const gear::GearMgr &gearMgr, int minTrackHits, int maxSkipRows, double maxDeltaChi2, int hitDistanceFactor, int hitStartingMode, double vDrift, std::string modulesNotUsed) | |
int | getType () |
Get track type: helix. | |
![]() | |
KalTrackingTemplate (const gear::GearMgr &gearMgr, unsigned int minTrackHits, unsigned int maxSkipRows, double maxDeltaChi2, int hitDistanceFactor, int startingHitMode, double vDrift, std::string modulesNotUsed) | |
virtual std::list< EVENT::Track * > | findTracks (EVENT::LCCollection const *hitCollection) |
Find all possible tracks in the given hit collection. | |
void | setMaxDeltaChi2 (double max) |
Set maximum delta chi2. | |
void | setMinTrackHits (unsigned int min) |
Set minimum number of hits on track. | |
void | setMaxSkipRows (unsigned int max) |
Set maximum track skipping row. | |
Protected Member Functions | |
bool | doAddAndFilter (TKalTrack *track, ModuleRowHit hit) |
Add a new site to track and update track parameters. | |
virtual bool | searchTrack (ModuleRowHit hit) |
Create a track candidate by making a KalHit from the ModuleRowHit and creating a TrackSite from it. More... | |
virtual TMatrixD | calculateStartHelix (ModuleRowHit const &hit1, ModuleRowHit const &hit2, ModuleRowHit const &hit3) |
Calculate the initial track state starting from three hits. | |
virtual void | printStateVector () |
Print track parameters. | |
virtual void | setLCIOTrackParameters (IMPL::TrackImpl *trk) |
Fill the track state (incl. More... | |
virtual double | calculateDeltaChi2 (TKalTrack *trackCandidate) |
Get the deltaChi2 from the track candidate. | |
virtual Intersection | extrapolateIntoNextLayer (int targetDistance, bool useFarHit) |
Use the current track state of the containerTrack to extrapolate into the next layer. More... | |
virtual const kaldet::GearTPCMeasLayer * | extrapolateIntoNextLayer (int targetDistance) |
virtual gear::Vector2D | getNearestPointInNextLayer (ModuleRowHit firstHit) |
virtual double | getTrackTangentAndLayerAngle (TKalTrack *track) |
virtual TKalTrackSite * | createInitialSite (ModuleRowHit &mrh1, ModuleRowHit &mrh2, ModuleRowHit &mrh3) |
![]() | |
virtual IMPL::TrackImpl * | getTrack (ModuleRowHit firstHit) |
virtual void | searchTrackHit () |
Search a proper hit to track. | |
virtual void | reset () |
Reset parameters and data of track. | |
virtual kaldet::GearTPCHit * | createGearHit (ModuleRowHit const &mhr) const |
Create a kalman hit from module, row and the lcio hit (ModuleRowHit object) | |
Static Protected Member Functions | |
static double | toBaseRange (double phi) |
Friends | |
class | KalTrackingHelixTester |
Additional Inherited Members | |
![]() | |
std::vector< ModuleRowHit > | _hitsOnTrack |
Hit list of the track. | |
gear::GearMgr const & | _gearMgr |
TPCHitDomain * | _domain |
An area on the TPC readout plane, now it is (module, row) | |
const gear::TPCParameters & | _tpcParameters |
TPC geometry. | |
unsigned int | _minTrackHits |
The last hit that is added to track. More... | |
int | _direction |
track direction | |
unsigned int | _maxSkipRows |
Maximum track skipping row. | |
double | _maxDeltaChi2 |
Maximum delta chi2. | |
int | _hitDistanceFactor |
int | _startingHitMode |
double | _vDrift |
kaldet::GearTPCKalDetector | _kalDetector |
TKalDetCradle | _detectorCradle |
TPCHitMap | _tpcHitMap |
The container of all arranged hits. | |
TKalTrack * | _containerTrack |
![]() | |
static const int | INWARDS |
static const int | OUTWARDS |
This is the helix track class, which inherits from KalTrackingTemplate and TKalTrack.
Kalman filter algorithm comes from TKalTrack which is a class in KalTest package.
|
protectedvirtual |
Use the current track state of the containerTrack to extrapolate into the next layer.
The distance can be positive or negative, depending if we move inwards or outwards, or 0 to get another intersection on the same layer.
Implements marlintpc::KalTrackingTemplate< TKalTrack >.
|
protectedvirtual |
Create a track candidate by making a KalHit from the ModuleRowHit and creating a TrackSite from it.
Afterwards it copies the _kalTrack of this class and adds and filters with the new site. It also hands over the ownership of the new track, so don't forget to delete it. Attention: The new track is not the owner of the sites, as they belong to the original _kalTrack, except for the newly deleted site. Before deleting the candidate do not forget to delete the last added site on the track!
If the add and filter fails you get a 0-pointer;Search track starting from hit
Implements marlintpc::KalTrackingTemplate< TKalTrack >.
|
protectedvirtual |
Fill the track state (incl.
cov matrix) at the beginning (4th hit) of the track into the given LCIO track. Smoothes back to the 4th hit and returns that state.
Implements marlintpc::KalTrackingTemplate< TKalTrack >.