43 template<
class JBuild_t>
44 inline void process(
const JBuild_t& build,
51 typedef typename JBuild_t::value_type value_type;
55 build(
event, router, back_inserter(data));
57 h1.Fill((
double) data.size());
68 int main(
int argc,
char **argv)
74 JMultipleFileScanner<JDAQEvent> inputFile;
83 JParser<> zap(
"Example program to test hit building with DAQ events.");
87 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
94 catch(
const exception &error) {
95 FATAL(error.what() << endl);
104 load(detectorFile, detector);
106 catch(
const JException& error) {
110 const JModuleRouter router(detector);
115 const Int_t N = 5000;
117 TH1D h0(
"L0", NULL, N, -0.5, (Double_t) N - 0.5);
118 TH1D h1(
"L1", NULL, N, -0.5, (Double_t) N - 0.5);
119 TH1D h2(
"L2", NULL, N, -0.5, (Double_t) N - 0.5);
124 JBuildL0<double> buildL0;
125 JBuildL1<double> buildL1(parameters);
126 JBuildL2<double> buildL2(parameters.
L2);
129 JBuildL0<JHitL0> buildL0;
130 JBuildL1<JHitL1> buildL1(parameters);
131 JBuildL2<JHitL2> buildL2(parameters.
L2);
134 JBuildL0<JHitR0> buildL0;
135 JBuildL1<JHitR1> buildL1(parameters);
136 JBuildL2<JHitR2> buildL2(parameters.
L2);
141 JBuildL0<double> buildL0;
142 JBuildL1<double> buildL1(parameters);
143 JBuildL2<double> buildL2(parameters.
L2);
146 while (inputFile.hasNext()) {
148 STATUS(
"event: " << setw(10) << inputFile.getCounter() <<
'\r');
DEBUG(endl);
152 process(buildL0, router, *tev, h0);
153 process(buildL1, router, *tev, h1);
154 process(buildL2, router, *tev, h2);