MarlinTPC  1.2.0
TrackMergerProcessor.h
1 #ifndef TRACKMERGERPROCESSOR_H
2 #define TRACKMERGERPROCESSOR_H 1
3 
4 #include "marlin/Processor.h"
5 #include "lcio.h"
6 #include <string>
7 #include <map>
8 
9 #include <EVENT/TrackerHit.h>
10 
11 namespace marlintpc
12 {
13 
32 class TrackMergerProcessor : public marlin::Processor
33 {
34 
35  public:
36 
40 
41 
45 
46 
49  Processor * newProcessor();
50 
51 
54  void init();
55 
56 
59  void processRunHeader(lcio::LCRunHeader *run);
60 
61 
64  virtual void processEvent(lcio::LCEvent *evt);
65 
66 
69  virtual void check(lcio::LCEvent *evt);
70 
71 
74  virtual void end();
75 
76  private:
77 
80  std::string _input_track_candidates_collection_name;
81 
84  std::string _output_merged_tracks_collection_name;
85 
88  std::multimap<int, IMPL::TrackImpl*> *_tracksByModuleID;
89 
94  int _outputIsTransient; //< if not 0 the hits collection is set transient (default 0)
95 
98  double _coneAngle;
99 
100 };
101 
102 }// namespace marlintpc
103 
104 #endif // TRACKMERGERPROCESSOR_H
105 
106 
107 
TrackMergerProcessor()
Default constructor.
Definition: TrackMergerProcessor.cc:37
~TrackMergerProcessor()
Destructor.
Definition: TrackMergerProcessor.cc:67
virtual void check(lcio::LCEvent *evt)
Called for every event - right after processEvent() has been called for all processors.
Definition: TrackMergerProcessor.cc:294
void init()
Called at the begin of the job before anything is read.
Definition: TrackMergerProcessor.cc:72
Processor * newProcessor()
Return a new instance of this processor.
Definition: TrackMergerProcessor.cc:287
virtual void end()
Called after data processing for clean up in the inverse order of the init() method so that resources...
Definition: TrackMergerProcessor.cc:299
virtual void processEvent(lcio::LCEvent *evt)
Called for every event - the working horse.
Definition: TrackMergerProcessor.cc:99
This is a processor for TrackFitterKalmanProcessor for Multi Module.
Definition: TrackMergerProcessor.h:32
void processRunHeader(lcio::LCRunHeader *run)
Called once per run to process the event's header.
Definition: TrackMergerProcessor.cc:84