MarlinTrkProcessors  2.4.1
DDPlanarDigiProcessor.h
1 #ifndef DDPlanarDigiProcessor_h
2 #define DDPlanarDigiProcessor_h 1
3 
4 #include "marlin/Processor.h"
5 
6 #include "lcio.h"
7 
8 #include <string>
9 #include <vector>
10 #include <map>
11 
12 #include <gsl/gsl_rng.h>
13 #include "DDRec/Surface.h"
14 #include "DDRec/SurfaceManager.h"
15 
16 #include <TH1F.h>
17 
18 using namespace lcio ;
19 using namespace marlin ;
20 
21 namespace EVENT {
22  class SimTrackerHit;
23 }
24 
25 
56 class DDPlanarDigiProcessor : public Processor {
57 
58 public:
59 
60  virtual Processor* newProcessor() { return new DDPlanarDigiProcessor ; }
61 
62 
64 
68  virtual void init() ;
69 
72  virtual void processRunHeader( LCRunHeader* run ) ;
73 
76  virtual void processEvent( LCEvent * evt ) ;
77 
78 
79  virtual void check( LCEvent * evt ) ;
80 
81 
84  virtual void end() ;
85 
86 
87 
88 
89 protected:
90 
91  std::string _inColName ;
92 
93  std::string _outColName ;
94  std::string _outRelColName ;
95 
96  std::string _subDetName ;
97 
98  int _nRun ;
99  int _nEvt ;
100 
101  FloatVec _resU ;
102  FloatVec _resV ;
103 
104  bool _isStrip;
105 
106  gsl_rng* _rng ;
107 
108  const DD4hep::DDRec::SurfaceMap* _map ;
109 
110  bool _forceHitsOntoSurface ;
111 
112  std::vector<TH1F*> _h ;
113 
114 } ;
115 
116 #endif
117 
118 
119 
======= DDPlanarDigiProcessor ========== Creates TrackerHits from SimTrackerHits, smearing them according to the input parameters.
Definition: DDPlanarDigiProcessor.h:56