SdMonteCarloPropagator.h
Go to the documentation of this file.
1 #ifndef _SdMonteCarloPropagatorKVI_SdMonteCarloPropagator_h_
2 #define _SdMonteCarloPropagatorKVI_SdMonteCarloPropagator_h_
3 
4 #include <fwk/VModule.h>
5 #include <utl/Point.h>
6 #include <utl/Vector.h>
7 #include <utl/TimeStamp.h>
8 #include <utl/CovarianceMatrix.h>
9 #include <evt/Event.h>
10 #include <fwk/VModule.h>
11 
12 #include <boost/random.hpp>
13 #include <boost/random/normal_distribution.hpp>
14 
15 #include <cmath>
16 
17 
18 namespace SdMonteCarloPropagatorKVI {
19 
27  public:
29 
30  fwk::VModule::ResultFlag Init() override;
31  fwk::VModule::ResultFlag Run(evt::Event& event) override;
32  fwk::VModule::ResultFlag Finish() override { return eSuccess; }
33 
34  enum InfoLevel {
35  eNone = 0,
36  eFinal = 1,
39  };
40 
41  private:
43  int fRandomSeed = 0;
44  // Not sure obout the random engine.
45  // utl::RandomEngine* fRandomEngine;
46  // using the boost Mersenne twister for now...
47  // DV: you are not allowed to use private random number sources
48  boost::mt19937 fRandgen;
49  boost::normal_distribution<double> fNormalNoise;
50  boost::variate_generator<boost::mt19937, boost::normal_distribution<double>> fRandomGenerator;
51 
52  REGISTER_MODULE("SdMonteCarloPropagatorKVI", SdMonteCarloPropagator);
53 
54  };
55 
56 }
57 
58 
59 #endif
fwk::VModule::ResultFlag Run(evt::Event &event) override
Run: invoked once per event.
Report success to RunController.
Definition: VModule.h:62
fwk::VModule::ResultFlag Init() override
Initialize: invoked at beginning of run (NOT beginning of event)
boost::variate_generator< boost::mt19937, boost::normal_distribution< double > > fRandomGenerator
boost::normal_distribution< double > fNormalNoise
Module interface.
Definition: VModule.h:53
fwk::VModule::ResultFlag Finish() override
Finish: invoked at end of the run (NOT end of the event)
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
REGISTER_MODULE("SdMonteCarloPropagatorKVI", SdMonteCarloPropagator)

, generated on Tue Sep 26 2023.