MarlinTrkProcessors  2.4.1
SimplePlanarDigiProcessor.h
1 #ifndef SimplePlanarDigiProcessor_h
2 #define SimplePlanarDigiProcessor_h 1
3 
4 #include "marlin/Processor.h"
5 
6 #include "lcio.h"
7 
8 #include <string>
9 #include <vector>
10 
11 #include <gsl/gsl_rng.h>
12 
13 
14 using namespace lcio ;
15 using namespace marlin ;
16 
17 namespace EVENT {
18  class SimTrackerHit;
19 }
20 
21 namespace gear {
22  class ZPlanarParameters;
23 }
24 
51 class SimplePlanarDigiProcessor : public Processor {
52 
53 public:
54 
55  virtual Processor* newProcessor() { return new SimplePlanarDigiProcessor ; }
56 
57 
59 
63  virtual void init() ;
64 
67  virtual void processRunHeader( LCRunHeader* run ) ;
68 
71  virtual void processEvent( LCEvent * evt ) ;
72 
73 
74  virtual void check( LCEvent * evt ) ;
75 
76 
79  virtual void end() ;
80 
81 
82 
83 
84 protected:
85 
86  // find phi in correct range, taken from gear::VXDParameters
87  double correctPhiRange( double Phi ) const ;
88 
89  int getLadderNumber( const gear::ZPlanarParameters* det, SimTrackerHit* sh, int layerNumber );
90 
91  std::string _inColName ;
92 
93  std::string _outColName ;
94  std::string _outRelColName ;
95 
96  int _sub_det_id ;
97 
98  int _nRun ;
99  int _nEvt ;
100 
101  float _pointResU ;
102  float _pointResV ;
103 
104  bool _ladder_Number_encoded_in_cellID;
105  bool _isStrip;
106 
107  gsl_rng* _rng ;
108 
109 
110 } ;
111 
112 #endif
113 
114 
115 
======= SimplePlanarDigiProcessor ========== Creates TrackerHits from SimTrackerHits, smearing them according to the input parameters.
Definition: SimplePlanarDigiProcessor.h:51