25int main(
int argc,
char **argv)
40 JParser<> zap(
"Example program to histogram PMT transit time distribution.");
50 catch(
const exception &error) {
51 FATAL(error.what() << endl);
55 cout <<
"PMT parameters:" << endl;
59 parameters.
TTS_ns = -option;
65 TH1D h1(
"tts", NULL, 1300, -30.0, +100.0);
66 TH1D h2(
"pmt", NULL, 130, -30.0, +100.0);
70 for (
int i = 1; i <= h1.GetNbinsX(); ++i) {
72 const double t1 = h1.GetBinCenter(i);
74 const double z = h1.GetBinWidth (i);
76 h1.SetBinContent(i, y);
81 h1.Scale(1.0 / W,
"nosw2");
83 if (numberOfEvents > 0) {
85 for (
int i = 0; i != numberOfEvents; ++i) {
87 const double t0 = 0.0;
93 h2.Scale(1.0 / numberOfEvents);
General purpose messaging.
PMT analogue signal processor.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
int main(int argc, char **argv)
Data structure for PMT parameters.
double TTS_ns
transition time spread [ns]
JProperties getProperties(const JEquationParameters &equation=JPMTParameters::getEquationParameters())
Get properties of this class.
Utility class to parse parameter values.
Simple data structure to support I/O of equations (see class JLANG::JEquation).
Utility class to parse command line options.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
PMT analogue signal processor.
virtual double getRandomTime(const double t_ns) const override
Get randomised time according transition time distribution.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...