1 #ifndef MARLINTPC_HIT_SPLITTER_H
2 #define MARLINTPC_HIT_SPLITTER_H
8 #include <IMPL/LCCollectionVec.h>
9 #include <EVENT/TrackerHit.h>
10 #include <EVENT/TrackerPulse.h>
11 #include <EVENT/LCIO.h>
33 HitSplitter(IMPL::LCCollectionVec * SplitHitsCollection,
34 IMPL::LCCollectionVec * PulsesInSplitHitsCollection,
49 EVENT::TrackerHitVec
splitHit(EVENT::TrackerHit
const *
const);
53 IMPL::LCCollectionVec * _splitHitsCollection;
54 IMPL::LCCollectionVec * _pulsesInSplitHitsCollection;
69 EVENT::TrackerPulse * getTrackerPulse()
const;
71 EVENT::TrackerPulse * _pulse;
74 typedef std::pair < std::multiset<SortablePulse>::iterator,
75 std::multiset<SortablePulse>::iterator > IteratorPair;
83 std::multiset<SortablePulse>::iterator firstPulse;
84 std::multiset<SortablePulse>::iterator secondPulse;
86 Distance(
float d, std::multiset<SortablePulse>::iterator first,
87 std::multiset<SortablePulse>::iterator second);
89 bool operator<(
Distance const &right)
const
91 return distance < right.distance;
98 #endif // MARLINTPC_HIT_SPLITTER_H
EVENT::TrackerHitVec splitHit(EVENT::TrackerHit const *const)
The split hits function returns a vector with the split hits.
Definition: HitSplitter.cc:41
The hit splitter separates hits that are merged.
Definition: HitSplitter.h:25
A nested helper struct to contain two pulses and the distance between them, and sort according to the...
Definition: HitSplitter.h:80
float _vDrift
The drift velocity.
Definition: HitSplitter.h:55
HitSplitter(IMPL::LCCollectionVec *SplitHitsCollection, IMPL::LCCollectionVec *PulsesInSplitHitsCollection, float vDrift)
The constructor needs two collection it can write to: One for the split hits and one for the pulses t...
Definition: HitSplitter.cc:32
A helper class to sort pulses according to their pad index.
Definition: HitSplitter.h:62