|
MarlinTPC
1.2.0
|
This is a base KalDet tracking class. More...
#include <KalTrackingTemplate.h>
Classes | |
| struct | Intersection |
| A struct as return value for the extrapolation into the next layer. More... | |
Public Member Functions | |
| 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. | |
Public Member Functions inherited from marlintpc::KalTrackingBase | |
| virtual int | getType ()=0 |
| Get which type this track is, helix or straight line. | |
Protected Member Functions | |
| virtual void | printStateVector ()=0 |
| Convenience function for printing. More... | |
| virtual IMPL::TrackImpl * | getTrack (ModuleRowHit firstHit) |
| virtual void | searchTrackHit () |
| Search a proper hit to track. | |
| virtual bool | searchTrack (ModuleRowHit hit)=0 |
| Search track starting from hit. | |
| virtual bool | doAddAndFilter (ContainerT *track, ModuleRowHit hit)=0 |
| Add a new site to track and update track parameters. More... | |
| virtual double | getTrackTangentAndLayerAngle (ContainerT *trackCandidate)=0 |
| virtual double | calculateDeltaChi2 (ContainerT *trackCandidate)=0 |
| Create a track candidate by making a KalHit from the ModuleRowHit and creating a TrackSite from it. More... | |
| virtual void | reset () |
| Reset parameters and data of track. | |
| virtual void | setLCIOTrackParameters (IMPL::TrackImpl *trk)=0 |
| virtual kaldet::GearTPCHit * | createGearHit (ModuleRowHit const &mhr) const |
| Create a kalman hit from module, row and the lcio hit (ModuleRowHit object) | |
| virtual Intersection | extrapolateIntoNextLayer (int targetDistance, bool useFarHit)=0 |
| Use the current track state of the containerTrack to extrapolate into the next layer. More... | |
|
virtual const kaldet::GearTPCMeasLayer * | extrapolateIntoNextLayer (int targetDistance)=0 |
Protected Attributes | |
| 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. | |
| ContainerT * | _containerTrack |
Static Protected Attributes | |
| static const int | INWARDS =-1 |
| static const int | OUTWARDS =1 |
This is a base KalDet tracking class.
It provides common methods for tracking.
It is templated for a container which contain the track state. For compatilibity with with TKalTrack it has to imolement SetOwner(), Clear() and Last(). Last may just return a null pointer.
|
protectedpure virtual |
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;Get the deltaChi2 from the track candidate
Implemented in marlintpc::KalTrackingHelix, and marlintpc::KalTrackingStraight.
|
protectedpure virtual |
Add a new site to track and update track parameters.
The track is given as an argument so it can also be used for track candidates and not only for the class-wide variable _kalTrack.
Only to be called after the track has been initalised with a first track state.
Implemented in marlintpc::KalTrackingStraight, and marlintpc::KalTrackingHelix.
|
protectedpure virtual |
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.
Implemented in marlintpc::KalTrackingHelix, and marlintpc::KalTrackingStraight.
|
protectedpure virtual |
Convenience function for printing.
Implemented for helix and straight tracks.
Implemented in marlintpc::KalTrackingStraight, and marlintpc::KalTrackingHelix.
|
protected |
The last hit that is added to track.
Minimum number of hits on track
Referenced by marlintpc::KalTrackingTemplate< TKalTrack >::setMinTrackHits().
1.8.6