All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
VTXNoiseHits.h
Go to the documentation of this file.
1 #ifndef VTXNoiseHits_h
2 #define VTXNoiseHits_h 1
3 
4 #include "marlin/Processor.h"
5 #include "lcio.h"
6 #include <string>
7 #include <vector>
8 #include <gsl/gsl_rng.h>
9 
10 // STUFF needed for GEAR
11 #include <marlin/Global.h>
12 #include <gear/GEAR.h>
13 #include <gear/VXDParameters.h>
14 #include <gear/VXDLayerLayout.h>
15 
16 
17 using namespace lcio ;
18 using namespace marlin ;
19 
20 
21 /**
22 \addtogroup TrackDigi TrackDigi
23 @{
24 \addtogroup VTXNoiseHits VTXNoiseHits
25 @{
26 Adds random noise hits to collection of TrackerHits of the vertex detector.
27 ======= VTXNoiseHits ========== <br>
28  * Adds random noise hits to collection of TrackerHits of the vertex detector.
29  * The number of noise hits are given by the parameter HitDensityPerLayer (hits/cm^2).
30  * The noise hits are created with a uniform distribution over the ladder
31  * surface.
32  *
33  * @param HitDensityPerLayer hit densities (hits/cm^2) per VXD layer
34  * @param PointResolutionRPhi_VTX Point resolution in r-phi for the vertex detector (in mm) <br>
35  * (default value 0.0027) <br>
36  * @param PointResolutionZ_VTX Point resolution in z for the vertex detector (in mm) <br>
37  * (default value 0.0027) <br>
38  *
39  * <br>
40  * @version $Id$
41  * @author F.Gaede, DESY
42  */
43 class VTXNoiseHits : public Processor {
44 
45  public:
46  VTXNoiseHits(const VTXNoiseHits&) = delete;
47  VTXNoiseHits& operator=(const VTXNoiseHits&) = delete;
48 
49  virtual Processor* newProcessor() { return new VTXNoiseHits ; }
50 
51 
52  VTXNoiseHits() ;
53 
54  /** Called at the begin of the job before anything is read.
55  * Use to initialize the processor, e.g. book histograms.
56  */
57  virtual void init() ;
58 
59  /** Called for every run.
60  */
61  virtual void processRunHeader( LCRunHeader* run ) ;
62 
63  /** Called for every event - the working horse.
64  */
65  virtual void processEvent( LCEvent * evt ) ;
66 
67 
68  virtual void check( LCEvent * evt ) ;
69 
70 
71  /** Called after data processing for clean up.
72  */
73  virtual void end() ;
74 
75 
76  protected:
77 
78  std::string _colNameVTX{};
79  FloatVec _densities{};
80  float _pointResoRPhiVTX{};
81  float _pointResoZVTX{};
82 
83  int _nRun{};
84  int _nEvt{};
85 
86  gsl_rng * r{};
87 
88 
89 } ;
90 /** @} @} */
91 #endif
virtual Processor * newProcessor()
Definition: VTXNoiseHits.h:49