16 #include "THaRunBase.h"
60 ifile.open(templatefile);
62 if(!ifile.is_open()) {
63 cout <<
"Error opening template file " << templatefile << endl;
70 cout <<
"Error opening report output file " << ofile << endl;
79 for(
string line; getline(ifile,
line);) {
81 string::size_type start;
82 while((start =
line.find(
'{',0)) != string::npos) {
84 string::size_type end =
line.find(
'}',start);
85 if(end==string::npos)
break;
86 string expression=
line.substr(start+1,end-start-1);
87 string::size_type formatpos = expression.find(
':',0);
89 if(formatpos != string::npos) {
90 format=expression.substr(formatpos+1);
91 expression=expression.substr(0,formatpos);
101 if(format.empty()) format =
"%s";
102 replacement=
Form(format.c_str(),textstring);
106 delete formula; formula = 0;
116 if(format[format.length()-1] ==
'd') {
119 replacement=
Form(format.c_str(),value);
123 line.replace(start,end-start+1,replacement);
125 ostr <<
line << endl;
147 varptr =
gHcParms->Find(
"gen_run_number");
149 runnum = (
Int_t*) varptr->GetValuePointer();
151 runnum =
new Int_t[1];
152 gHcParms->Define(
"gen_run_number",
"Run Number", *runnum);
154 *runnum = fRun->GetNumber();
156 varptr =
gHcParms->Find(
"gen_run_starting_event");
158 firstevent = (
Int_t*) varptr->GetValuePointer();
160 firstevent =
new Int_t[1];
161 gHcParms->Define(
"gen_run_starting_event",
"First event analyzed", *firstevent);
164 *firstevent = fRun->GetFirstEvent();
166 varptr =
gHcParms->Find(
"gen_event_id_number");
168 lastevent = (
Int_t*)varptr->GetValuePointer();
170 lastevent =
new Int_t[1];
171 gHcParms->Define(
"gen_event_id_number",
"Last event analyzed", *lastevent);
174 *lastevent = fRun->GetFirstEvent()+fRun->GetNumAnalyzed();
char * Form(const char *fmt,...)
void PrintReport(const char *templatefile, const char *ofile)
ClassImp(THcDCLookupTTDConv) THcDCLookupTTDConv
const char * GetString(const std::string &name) const
R__EXTERN class THcParmList * gHcParms