11#include <framework/core/Module.h>
12#include <top/dbobjects/TOPSampleTimes.h>
13#include <top/dbobjects/TOPCalTimebase.h>
14#include <framework/database/DBObjPtr.h>
54 virtual void event()
override;
73 const std::string& name,
74 const std::string& title,
75 const std::string& xTitle =
"",
76 const std::string& yTitle =
"");
Class for accessing objects in the database.
double m_timeDifference
time difference between first and second pulse
std::vector< unsigned > m_asicChannels
ASIC calibration channels.
DBObjPtr< TOPCalTimebase > m_timebase
sample times from database
std::vector< double > m_sampleTimeIntervals
sample time intervals
unsigned m_storageWindows
number of storage windows
std::vector< int > m_moduleIDs
slot ID's to generate for
bool m_useDatabase
if true, use sample times from database
int m_sampleDivisions
number of sample divisions (from NominalTDC)
double m_timeResolution
sigma of time difference
std::string m_outputFileName
if given, store sample times as root histograms
TOPSampleTimes m_sampleTimes
sample times from steering input
Calibration constants of a single ASIC channel: time axis (sample times)
virtual void initialize() override
Initialize the Module.
virtual void event() override
Event processor.
TOPDoublePulseGeneratorModule()
Constructor.
virtual void beginRun() override
Called when entering a new run.
void storeSampleTimes(const std::string &fileName)
Optionally store sample times used by the generator as root histograms fileName root output file name...
static void saveAsHistogram(const std::vector< double > &vec, const std::string &name, const std::string &title, const std::string &xTitle="", const std::string &yTitle="")
Save vector to histogram and write it out.
Abstract base class for different kinds of events.