MarlinTPC  1.2.0
PhotoelectricLikelihoodFittingProcessor.h
1 #ifdef USE_LCCD
2 
3 #ifndef PHOTOELECTRICLIKELIHOODFITTINGPROCESSOR_H
4 #define PHOTOELECTRICLIKELIHOODFITTINGPROCESSOR_H 1
5 
6 // Marlin
7 #include <marlin/Processor.h>
8 
9 // GEAR
10 #include <gear/TPCParameters.h>
11 #include <gearimpl/GlobalPadIndex.h>
12 
13 // LCIO
14 #include <EVENT/TrackerHit.h>
15 
16 // CLHEP
17 #include <CLHEP/Vector/TwoVector.h>
18 
19 // stl
20 #include <string>
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 PhotoelectricLikelihoodFittingProcessor : public marlin::Processor
41 {
42 
43  public:
44 
45  PhotoelectricLikelihoodFittingProcessor() ;
46 
47  virtual void init() ;
48 
49  virtual Processor* newProcessor()
50  {
51  return new PhotoelectricLikelihoodFittingProcessor();
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_seed_photodot_collection_name;
67 
70  std::string _input_seed_photoline_collection_name;
71 
74  std::string _output_photodot_collection_name;
75 
78  std::string _output_photoline_collection_name;
79 
82  bool _output_is_transient;
83 
86  double _sigma;
87 
90  AIDA::ITuple *_photodot_fit_results_tuple;
91 
92 };
93 
94 }
95 
96 #endif // PHOTOELECTRICLIKELIHOODFITTINGPROCESSOR_H
97 #endif // USE_LCCD