1 #ifndef ROWBASEDHITFINDERPROCESSOR_H 2 #define ROWBASEDHITFINDERPROCESSOR_H 5 #include "marlin/Processor.h" 6 #include "marlin/Global.h" 10 #include "EVENT/LCCollection.h" 11 #include "IMPL/LCCollectionVec.h" 12 #include "EVENT/TrackerPulse.h" 15 #include "gear/TPCParameters.h" 23 #include "ChannelCorrectionListener.h" 24 #include "TPCConditionsListener.h" 95 virtual void check(lcio::LCEvent * evt) ;
179 void addPulse(EVENT::TrackerPulse*);
191 const std::vector<EVENT::TrackerPulse*>&
getPulses()
const 210 void _sortPulses(EVENT::LCCollection*,
const gear::TPCParameters&,
211 std::map<
int, std::map<
int, std::vector<EVENT::TrackerPulse*>* >* >&);
212 void _findHitCandidates(std::map<
int, std::map<
int, std::vector<EVENT::TrackerPulse*>* >* >&,
213 const gear::TPCParameters&,
214 std::map<
int, std::vector<RowBasedHitFinderProcessor::hitCandidate> >&);
215 void _createHitCollection(std::map<
int, std::vector<RowBasedHitFinderProcessor::hitCandidate> >&,
216 const gear::TPCParameters&, IMPL::LCCollectionVec*);
223 (std::vector<std::vector<EVENT::TrackerPulse*>::iterator>&,
float);
240 #endif//ROWBASEDHITFINDERPROCESSOR_H void addPulse(EVENT::TrackerPulse *)
void _createHitCollection(std::map< int, std::vector< RowBasedHitFinderProcessor::hitCandidate > > &, const gear::TPCParameters &, IMPL::LCCollectionVec *)
const EVENT::TrackerPulse * getMaximumPulse() const
void _addNeighbourPulses(hitCandidate &, const gear::TPCParameters &, std::vector< EVENT::TrackerPulse *> &)
std::vector< int > _deadChannelIndicesOverride
double _getMinMaxPulseSliceHeight()
int _maxEmptyChannelsOverride
void _findHitCandidates(std::map< int, std::map< int, std::vector< EVENT::TrackerPulse *> * > * > &, const gear::TPCParameters &, std::map< int, std::vector< RowBasedHitFinderProcessor::hitCandidate > > &)
std::string _inputTrackerPulsesCollectionName
EVENT::TrackerPulse * _findHighestPulseInRow(std::vector< EVENT::TrackerPulse *> &)
bool _padIsNoisy(const int, const int)
double _convertCharge(const RowBasedHitFinderProcessor::hitCandidate &)
virtual Processor * newProcessor()
std::vector< EVENT::TrackerPulse * >::iterator _findBestNeighbourPulseMatch(std::vector< std::vector< EVENT::TrackerPulse *>::iterator > &, float)
virtual void check(lcio::LCEvent *evt)
float _maxTimeSpreadOverride
std::vector< EVENT::TrackerPulse * > _thePulses
void _sortPulses(EVENT::LCCollection *, const gear::TPCParameters &, std::map< int, std::map< int, std::vector< EVENT::TrackerPulse *> * > * > &)
int _maxDeadChannelsOverride
EVENT::TrackerPulse * _maxPulse
double getChargeMeasError() const
std::string _channelCorrectionCollectionName
unsigned int getWidth() const
bool _maxPulseHeightCheck(EVENT::TrackerPulse *)
virtual void processRunHeader(lcio::LCRunHeader *run)
TPCConditionsListener * _tpcConditionsListener
bool _padIsDead(const int, const int)
std::string _outputTrackerHitsCollectionName
unsigned int _getMaxDeadChannels()
bool _hitIsValid(const RowBasedHitFinderProcessor::hitCandidate &)
int _numberOfDeadChannels
ChannelCorrectionListener * _channelCorrectionListener
double _getDriftVelocity()
const std::vector< EVENT::TrackerPulse * > & getPulses() const
bool _pulseComparator(EVENT::TrackerPulse *, EVENT::TrackerPulse *)
float _driftVelocityOverride
double _getMaxTimeSpread()
double _getChargeConversionFactor()
gear::Vector3D _calculatePositionsAndErrors(const RowBasedHitFinderProcessor::hitCandidate &, const gear::TPCParameters &, float *)
RowBasedHitFinderProcessor()
float _chargeConversionFactorOverride
double getMaxPulseHeight()
std::string _inputTPCConditionsCollectionName
bool _outputHitsPersistent
float _minMaxPulseSliceHeightOverride
virtual void processEvent(lcio::LCEvent *evt)