#include "hparamfilegenerator.h"
#include "hparrootfileio.h"
#include "hruninfo.h"
ClassImp(HParamFileGenerator)
HParamFileGenerator::HParamFileGenerator(const Char_t* beamtime,
const Char_t* startAt,const Char_t* endAt ) {
experiment=beamtime;
rangeStart=startAt;
rangeEnd=endAt;
runs=0;
logFile=0;
}
HParamFileGenerator::~HParamFileGenerator() {
if (runs) {
runs->Delete();
delete runs;
runs=0;
}
closeLogFile();
}
HParRootFileIo* HParamFileGenerator::openParameterFile(const Char_t* filename) {
paramFilename=filename;
if (!paramFilename.IsNull()) {
HParRootFileIo* f=new HParRootFileIo;
Bool_t rc=f->open(filename,"CREATE");
if (rc) {
Ssiz_t n=paramFilename.Last('.');
logFilename=paramFilename(0,n+1);
logFilename.Append("log");
closeLogFile();
logFile=new fstream();
logFile->open((Char_t*)logFilename.Data(),ios::out);
if (logFile->rdbuf()->is_open()==1) return f;
else {
Error("openParameterFile","No log file open");
closeLogFile();
}
} else {
Error("openParameterFile","File %s already exits",filename);
delete f;
}
}
return 0;
}
void HParamFileGenerator::closeLogFile() {
if (logFile) {
logFile->close();
delete logFile;
logFile=0;
}
}
void HParamFileGenerator::setListOfRuns(TList* r) {
if (runs) {
runs->Delete();
delete runs;
runs=0;
}
runs=r;
}
void HParamFileGenerator::writeRuns() {
if (logFile&&runs) {
fstream& fout=*logFile;
fout<<"Experiment: "<<experiment<<'\n'
<<"Range: "<<rangeStart<<" - "<<rangeEnd<<'\n';
TIter next(runs);
HRunInfo* run;
while ((run=(HRunInfo*)next())) {
run->write(fout);
}
}
}
Last change: Sat May 22 13:06:31 2010
Last generated: 2010-05-22 13:06
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.