MarlinTPC  1.2.0
PhotoelectricLikelihoodSeederProcessor.h
1 #ifndef PHOTOELECTRICLIKELIHOODSEEDERPROCESSOR_H
2 #define PHOTOELECTRICLIKELIHOODSEEDERPROCESSOR_H 1
3 
4 // Marlin
5 #include <marlin/Processor.h>
6 
7 // GEAR
8 #include <gear/TPCParameters.h>
9 #include <gearimpl/GlobalPadIndex.h>
10 
11 // LCIO
12 #include <EVENT/TrackerHit.h>
13 
14 // CLHEP
15 #include <CLHEP/Vector/TwoVector.h>
16 
17 // stl
18 #include <string>
19 #include <set>
20 #include <list>
21 
22 namespace EVENT
23 {
24 
25 class TrackerPulse;
26 }
27 
28 namespace AIDA
29 {
30 
31 class ITuple;
32 }
33 
34 namespace marlintpc
35 {
36 
40 class PhotoelectricLikelihoodSeederProcessor : public marlin::Processor
41 {
42 
43  public:
44 
46 
47  virtual void init() ;
48 
49  virtual Processor* newProcessor()
50  {
52  }
53 
54  virtual void processRunHeader(lcio::LCRunHeader* run);
55 
56  virtual void processEvent(lcio::LCEvent * evt);
57 
58  virtual void check(lcio::LCEvent * evt);
59 
60  virtual void end();
61 
62  private:
63 
66  std::string _input_photoelectric_tracker_pulses_collection_name;
67 
70  std::string _output_photodot_collection_name;
71 
74  std::string _output_photoline_collection_name;
75 
78  bool _output_is_transient;
79 
82  std::string _projected_photogeometry_file_name;
83 
86  bool _write_seed_tuple;
87 
90  double _sigma;
91 
92 
95  AIDA::ITuple *_seed_position_tuple;
96 
99  std::map< gear::GlobalPadIndex, std::list< std::set< EVENT::TrackerPulse* > >::iterator > _photodot_pulse_set_by_global_index;
100 
103  std::list< std::set< EVENT::TrackerPulse* > > _photodot_pulse_sets;
104 
107  std::map< gear::GlobalPadIndex, std::list< std::set< EVENT::TrackerPulse* > >::iterator > _photoline_pulse_set_by_global_index;
108 
111  std::list< std::set< EVENT::TrackerPulse* > > _photoline_pulse_sets;
112 };
113 
114 }
115 
116 #endif // PHOTOELECTRICLIKELIHOODSEEDERPROCESSOR_H
PhotoelectricLikelihoodSeederProcessor: prepares the photoelectric data for fitting.
Definition: PhotoelectricLikelihoodSeederProcessor.h:40