Deprecated/UpgradeASCIITests/SdPMTSimulatorASCII/SdPMTSimulator.h
Go to the documentation of this file.
1 #ifndef _SdPMTSimulatorASCII_SdPMTSimulator_h_
2 #define _SdPMTSimulatorASCII_SdPMTSimulator_h_
3 
4 #include <fwk/VModule.h>
5 #include <utl/TabulatedFunction.h>
6 #include <utl/TimeDistribution-fwd.h>
7 #include <utl/config.h>
8 
9 #include <sevt/SEvent.h>
10 #include <sevt/StationConstants.h>
11 #include <CLHEP/Random/Randomize.h>
12 
13 #include <vector>
14 
15 namespace utl {
16  class RandomEngine;
17 }
18 
19 class TH1D;
20 
21 namespace SdPMTSimulatorASCII {
22 
48  class SdPMTSimulator : public fwk::VModule {
49  public:
51  virtual ~SdPMTSimulator();
52 
56 
57  private:
58  CLHEP::RandGeneral* fChargeDist;
59 
63  unsigned int fNStationsPerCycle;
64 
65  // points to maximum of the pulse
67 
69  double fPMTGain_WCD;
71 
73  utl::TimeDistributionD& baseSignal,double PMTGain);
74 
76  const utl::TimeDistributionD& totalBaseSignal);
77 
78  double fMinCharge;
79  double fMaxCharge;
81  std::string fRootHistoFilename;
82 
83  // Histograms for testing
84  TH1D* fChargeHisto;
86 
89 
91 
92  std::vector<sevt::StationConstants::SignalComponent> fFundamentalComponents,fFundamentalComponents_ASCII;
93 
94  REGISTER_MODULE("SdPMTSimulatorASCII", SdPMTSimulator);
95 
96  };
97 
98 } // namespace SdPMTSimulatorOG
99 
100 
101 #endif
102 
103 
104 // Configure (x)emacs for this file ...
105 // Local Variables:
106 // mode: c++
107 // compile-command: "make -k"
108 // End:
std::vector< sevt::StationConstants::SignalComponent > fFundamentalComponents
fwk::VModule::ResultFlag Run(evt::Event &event)
Run: invoked once per event.
Class to hold collection (x,y) points and provide interpolation between them.
Histogram class for time distributions with suppressed empty bins.
void SimulateSaturation(utl::TimeDistributionD &baseSignal, const utl::TimeDistributionD &totalBaseSignal)
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
Wraps the random number engine used to generate distributions.
Definition: RandomEngine.h:27
std::vector< sevt::StationConstants::SignalComponent > fFundamentalComponents_ASCII
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
Module interface.
Definition: VModule.h:53
PMT simulation from PE release times to PE charge distribution.
void ConvertPEToBaseSignal(const utl::TimeDistributionI &pe, utl::TimeDistributionD &baseSignal, double PMTGain)
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
boost::indirect_iterator< InternalStationIterator, Station & > StationIterator
Iterator over all stations.
Definition: SEvent.h:52
REGISTER_MODULE("SdPMTSimulatorASCII", SdPMTSimulator)

, generated on Tue Sep 26 2023.