36 const Text_t* name=pPar->GetName();
39 pFile->seekg(0,ios::beg);
40 if (!strcmp(name,
"TofLookup"))
return read((
HTofLookup*)pPar,set,kTRUE);
45 if (!strcmp(name,
"TofGeomPar"))
47 Error(
"init(HParSet*,Int_t*)",
48 "initialization of %s not possible from ASCII file",name);
51 Error(
"init(HParSet*,Int_t*)",
"No input file open");
58 const Text_t* name=pPar->GetName();
63 if (!strcmp(name,
"TofGeomPar"))
65 Error(
"write(HParSet*)",
"%s could not be written to ASCII file",name);
68 Error(
"write(HParSet*)",
"No output file open");
79 const Int_t maxbuf=155;
83 pFile->getline(buf, maxbuf);
84 if (buf[0]==
'#')
break;
85 if (buf[0]!=
'/' && buf[0]!=
'\0') rc=pPar->readline(buf);
90 printf(
"%s initialized from Ascii file\n",pPar->GetName());
100 const Text_t* name=pPar->GetName();
102 if (needsClear) pPar->clear();
103 const Int_t maxbuf=155;
105 while (!
pFile->eof()) {
106 pFile->getline(buf, maxbuf);
107 if (buf[0]==
'#')
break;
108 if (buf[0]!=
'/' && buf[0]!=
'\0') pPar->readline(buf, set);
112 Bool_t allFound=kTRUE;
114 printf(
"%s: module(s) initialized from Ascii file:\n",name);
117 for(Int_t i=0; i<
setSize; i++) {
119 if (set[i]==999) set[i]=1;
120 else allFound=kFALSE;
124 if (allFound) printf(
"%s initialized from Ascii file\n",name);
133 writeHeader(pPar->GetName(),pPar->getParamContext());
136 pPar->setChanged(kFALSE);
147 Int_t n0 = (*pPar).getSize();
148 for(Int_t i0=0; i0<n0; i0++) {
149 Int_t n1 = (*pPar)[i0].getSize();
150 for(Int_t i1=0; i1<n1; i1++) {
151 Int_t n2 = (*pPar)[i0][i1].getSize();
152 for(Int_t i2=0; i2<n2; i2++) {
153 if (pPar->writeline(buf, i0, i1, i2))
154 pFile->write(buf,strlen(buf));
158 pPar->setChanged(kFALSE);
Int_t getMaxModules(void)
Bool_t read(HDetGeomPar *, Int_t *)
Int_t getMaxSectors(void)
fstream * pFile
comment line
HSpectrometer * getSetup(void)
HDetector * getDetector(const Char_t *name)
void writeHeader(const Text_t *, const Text_t *context="", const Text_t *author="", const Text_t *description="")
Bool_t findContainer(const Text_t *name)
Bool_t checkAllFound(Int_t *, Int_t)
Int_t writeFile(HDetGeomPar *)
TString sepLine
header of container output in file
Bool_t init(HParSet *, Int_t *)
ClassImp(HTofParAsciiFileIo) HTofParAsciiFileIo