ID |
Date |
Author |
Topic |
Subject |
34
|
10 Jan 2005 |
Matthias Schneebeli | Bug Report | long task description |
> When I made task description longer than about 80 characters. The description was not written in html
> file propery. It was shorten.
>
> I guess following lines in ROMEBuilder.cpp are relating to this.
>
>
> -----------
> pos = (char*)taskDescription[iTask].Data();
> lenTot = taskDescription[iTask].Length();
> while (pos-taskDescription[iTask].Data() < lenTot) {
> if (lenTot+(taskDescription[iTask].Data()-pos)<74)
> i=TMath::Min(75,lenTot);
> else for (i=74;pos[i]!=32&&i>0;i--) {}
> if (i<=0)
> i=TMath::Min(75,lenTot);
> pos[i] = 0;
> buffer.AppendFormatted("// %-74.74s \n",pos);
> pos = pos+i+1;
> }
done. thanks. |
53
|
11 Mar 2005 |
Ryu Sawada | Info | make build |
I added new make target "build" in ARGUS. It may be useful also for ROME users.
in WriteMakefile(char* xmlFile)
.
.
.
int pdnameend = 0;
int pbnamestart = 0;
ROMEString xmlfile = xmlFile;
while((pdnameend = xmlfile.Index("/",1,pbnamestart,TString::kExact))!=-1)
pbnamestart = pdnameend+1;
ROMEString xmlbasename = xmlfile(pbnamestart,xmlfile.Length());
buffer.AppendFormatted("build::\n");
buffer.AppendFormatted(" $(ROMESYS)/bin/romebuilder.exe -i %s -o .",xmlbasename.Data());
if (makeOutput)
buffer.AppendFormatted(" -v");
if(noLink)
buffer.AppendFormatted(" -nl");
if(midas)
buffer.AppendFormatted(" -midas");
if(!sql)
buffer.AppendFormatted(" -nosql");
buffer.AppendFormatted("\n");
.
.
. |
40
|
19 Jan 2005 |
Ryu Sawada | Suggestion | messaging system |
About warnings,errors and informations output in online mode.
Probably we lauch ROME from web interface of MIDAS. And we don't see console of ROME.
But we need to hear what ROME is saying.
Normally midas analyzer and other applications use cm_msg function. This function shows messages
proper place like web interface or ODBEdit windows and so on.
I do not have much knowledge about it. Stefan may know better way. |
44
|
27 Jan 2005 |
Matthias Schneebeli | Suggestion | messaging system |
> About warnings,errors and informations output in online mode.
>
> Probably we lauch ROME from web interface of MIDAS. And we don't see console of ROME.
> But we need to hear what ROME is saying.
>
> Normally midas analyzer and other applications use cm_msg function. This function shows messages
> proper place like web interface or ODBEdit windows and so on.
>
> I do not have much knowledge about it. Stefan may know better way.
I implemented the cm_msg calls. |
45
|
27 Jan 2005 |
Stefan Ritt | Suggestion | messaging system |
> I implemented the cm_msg calls.
You should implement a central "message dispatcher". So all errors etc. should go to someting linke
rome_msg(). If compiled with midas online support, rome_msg() should call cm_msg(). If rome is compiled
without midas libraries, a printf() there would be enough. If someone uses rome in a different
environment, only can function needs to be changed to reroute all messages to somewhere else. |
46
|
28 Jan 2005 |
Matthias Schneebeli | Suggestion | messaging system |
> > I implemented the cm_msg calls.
>
> You should implement a central "message dispatcher". So all errors etc. should go to someting linke
> rome_msg(). If compiled with midas online support, rome_msg() should call cm_msg(). If rome is compiled
> without midas libraries, a printf() there would be enough. If someone uses rome in a different
> environment, only can function needs to be changed to reroute all messages to somewhere else.
Of course, that's the way I implemented that. |
64
|
26 Mar 2005 |
Ryu Sawada | Bug Report | problem after changing xml library |
After changing xml library from libxml2 to mxml, examples (sample and MEG) can not be compiled.
My project does not work too. What is necessary to make it work? |
7
|
13 Oct 2004 |
ryu | Bug Report | serial number and event ID |
In "ROMEEventLoop.cpp"
in function "ReadEvent(Int_t event)"
after "if (gROME->isOnline()&&gROME->isMidas()) {"
gROME should get serial_number and event ID from event header.
There should be following 2 lines
gROME->SetCurrentEventNumber(((EVENT_HEADER*)mEvent)->serial_number);
gROME->SetEventID(((EVENT_HEADER*)mEvent)->event_id); |
9
|
13 Oct 2004 |
Matthias Schneebeli | Bug Report | serial number and event ID |
> In "ROMEEventLoop.cpp"
> in function "ReadEvent(Int_t event)"
> after "if (gROME->isOnline()&&gROME->isMidas()) {"
>
> gROME should get serial_number and event ID from event header.
> There should be following 2 lines
>
> gROME->SetCurrentEventNumber(((EVENT_HEADER*)mEvent)->serial_number);
> gROME->SetEventID(((EVENT_HEADER*)mEvent)->event_id);
done |
47
|
05 Feb 2005 |
Ryu Sawada | Bug Report | small problem of XML definition file |
About <EventHeader> in xml definition file.
In description page in ROME homepage, It is wirtten that <EventId> specifies the field.
But It seems that 'd' shoud be capital. |
56
|
21 Mar 2005 |
Matthias Schneebeli | Bug Report | small problem of XML definition file |
> About <EventHeader> in xml definition file.
>
> In description page in ROME homepage, It is wirtten that <EventId> specifies the field.
> But It seems that 'd' shoud be capital.
done |
42
|
24 Jan 2005 |
Ryu Sawada | Info | small problems |
These are not critical, but someone may complain some day.
1. ROMEBuilder.cpp:2315
I wonder if maxNumberOfTasks should be maxNumberOfSteering.
// count steering parameters
2316 numOfSteering[iTask]++;
2317 currentNumberOfSteerings = numOfSteering[iTask];
2318 if (numOfSteering[iTask]>=maxNumberOfTasks+1) {
2319 cout << "Maximal number of steering parameters reached : " << (max 2319
NumberOfTasks+1) << " !" << endl;
2320 cout << "Terminating program." << endl;
2321 return false;
2322 }
2. ROMEBuilder.cpp:2437
I wonder if maxNumberOfSteering should be maxNumberOfSteeringField.
if (numOfSteerFields[iTask][actualSteerIndex]>=maxNumberOfSteer
2437 ing) {
2438 cout << "Maximal number of steering parameter fields in task 2438 '" <<
taskName[iTask].Data() << "' reached : " << maxNumberOfSteering < 2438 < " !" << endl;
2439 cout << "Terminating program." << endl;
2440 return false;
2441 }
3. ROMEBuilder.cpp:6327
I wonder if ROOTSYS should be ROOTSYS/include.
6327 #if defined( _MSC_VER )
6328 buffer.AppendFormatted("-I%%ROMESYS%%/include ");
6329 buffer.AppendFormatted("-I%%ROOTSYS%% ");
6330 #endif
6331 #if defined ( __linux__ ) || defined ( __APPLE__ )
6332 buffer.AppendFormatted("-I$ROMESYS/include ");
6333 buffer.AppendFormatted("-I$ROOTSYS ");
6334 #endif
4. ROMEBuilder.cpp:6806
in ROMEBuilder::isNumber, there are some missing number types such as.
Double32_t,Long64_t,ULong64_t
5. ROMEBuilder.cpp:6821
in ROMEBuilder::isFloatingType, there are some missing floating types such as.
Double32_t |
43
|
25 Jan 2005 |
Matthias Schneebeli | Info | small problems |
> These are not critical, but someone may complain some day.
>
> 1. ROMEBuilder.cpp:2315
> I wonder if maxNumberOfTasks should be maxNumberOfSteering.
> // count steering parameters
> 2316 numOfSteering[iTask]++;
> 2317 currentNumberOfSteerings = numOfSteering[iTask];
> 2318 if (numOfSteering[iTask]>=maxNumberOfTasks+1) {
> 2319 cout << "Maximal number of steering parameters reached : " << (max 2319
> NumberOfTasks+1) << " !" << endl;
> 2320 cout << "Terminating program." << endl;
> 2321 return false;
> 2322 }
>
> 2. ROMEBuilder.cpp:2437
> I wonder if maxNumberOfSteering should be maxNumberOfSteeringField.
> if (numOfSteerFields[iTask][actualSteerIndex]>=maxNumberOfSteer
> 2437 ing) {
> 2438 cout << "Maximal number of steering parameter fields in task 2438 '" <<
> taskName[iTask].Data() << "' reached : " << maxNumberOfSteering < 2438 < " !" << endl;
> 2439 cout << "Terminating program." << endl;
> 2440 return false;
> 2441 }
>
>
> 3. ROMEBuilder.cpp:6327
> I wonder if ROOTSYS should be ROOTSYS/include.
> 6327 #if defined( _MSC_VER )
> 6328 buffer.AppendFormatted("-I%%ROMESYS%%/include ");
> 6329 buffer.AppendFormatted("-I%%ROOTSYS%% ");
> 6330 #endif
> 6331 #if defined ( __linux__ ) || defined ( __APPLE__ )
> 6332 buffer.AppendFormatted("-I$ROMESYS/include ");
> 6333 buffer.AppendFormatted("-I$ROOTSYS ");
> 6334 #endif
>
> 4. ROMEBuilder.cpp:6806
> in ROMEBuilder::isNumber, there are some missing number types such as.
> Double32_t,Long64_t,ULong64_t
>
> 5. ROMEBuilder.cpp:6821
> in ROMEBuilder::isFloatingType, there are some missing floating types such as.
> Double32_t
Thanks |
Draft
|
21 Mar 2016 |
Farrukh Azfar | Info | speeding up ROME |
|
21
|
27 Nov 2004 |
Ryu Sawada | Bug Report | ss_getchar |
When romeConfig.xml does not exist. Rome goes to infinite loop.
I think the problem is ss_getchar.
ROMEAnalyzer::ss_getchar does not seem to work on Linux ,because OS_UNIX is not defined.
"ends" is needed in following line.
cout << "Do you like the framework to generate a new configuration file ([y]/n) ? "<<ends;
otherwise this line does not appear before user hits keyboard. |
25
|
06 Dec 2004 |
Matthias Schneebeli | Bug Report | ss_getchar |
> When romeConfig.xml does not exist. Rome goes to infinite loop.
>
> I think the problem is ss_getchar.
> ROMEAnalyzer::ss_getchar does not seem to work on Linux ,because OS_UNIX is not defined.
>
> "ends" is needed in following line.
> cout << "Do you like the framework to generate a new configuration file ([y]/n) ? "<<ends;
> otherwise this line does not appear before user hits keyboard.
done |
93
|
28 Jun 2005 |
Ryu Sawada | Bug Report | support folder object in folder. |
When one makes a support folder type field in folder, pointer to the support folder or pointer of
TClonesArray is in the folder.
But There is no "new" statement to create the object. |
69
|
03 Apr 2005 |
Ryu Sawada | Suggestion | user defined command line options |
This is not strong request, just a proposal because the same thing can be done by configuration file.
It may be useful if users can have his command line options.
For instance.
<CommandOptions>
<CommandOption>
<OptionFlag>m<OptionFlag>
<OptionName>isMC<OptionName>
<OptionType>Bool_t<OptionType>
<OptionInitialization>false<OptionInitialization>
</CommandOption>
<CommandOption>
<OptionFlag>t<OptionFlag>
<OptionName>TriggerType<OptionName>
<OptionType>Int_t<OptionType>
<OptionInitialization>0<OptionInitialization>
</COmmandOption>
</CommandOptions>
Then user can change the variable with command line option like
./megframework -m -t 2;
Then builder creates new method.
(Bool_t) MEGAnalyzer::GetisMC()
(Int_t) MEGAnalyzer::GetTriggerType() |
78
|
22 Apr 2005 |
Ryu Sawada | Suggestion | user defined command line options |
> Then user can change the variable with command line option like
> ./megframework -m -t 2;
>
> Then builder creates new method.
> (Bool_t) MEGAnalyzer::GetisMC()
> (Int_t) MEGAnalyzer::GetTriggerType()
I realized better way. In this way users can add or remove command line options without changing their
task files. And it is not necessary to add new object in ROME.
What I propose is to make it in steering parameter. That is <SPCOmmandOption> in steering parameter's
properties.
<SteeringParameterField>
<SPFieldName>isMC</SPFieldName>
<SPFieldType>Bool_t</SPFieldType>
<SPCommandOption>m</SPCommandOption>
</SteeringParameterField>
<SteeringParameterField>
<SPFieldName>TriggerType</SPFieldName>
<SPFieldType>Int_t</SPFieldType>
<SPCommandOption>t</SPCommandOption>
</SteeringParameterField>
Then user can change the variable with command line option like
./megframework -m -t 2;
when -m is typed, isMC becomes true.
Trigger type will be 2.
They can specify the value both with config file and command line option just same as run numbers.
Values in config file will be overwritten by command line option.
|
79
|
22 Apr 2005 |
Ryu Sawada | Suggestion | user defined command line options |
>
> > Then user can change the variable with command line option like
> > ./megframework -m -t 2;
> >
> > Then builder creates new method.
> > (Bool_t) MEGAnalyzer::GetisMC()
> > (Int_t) MEGAnalyzer::GetTriggerType()
>
> I realized better way. In this way users can add or remove command line options without changing their
> task files. And it is not necessary to add new object in ROME.
>
> What I propose is to make it in steering parameter. That is <SPCOmmandOption> in steering parameter's
> properties.
>
> <SteeringParameterField>
> <SPFieldName>isMC</SPFieldName>
> <SPFieldType>Bool_t</SPFieldType>
> <SPCommandOption>m</SPCommandOption>
> </SteeringParameterField>
> <SteeringParameterField>
> <SPFieldName>TriggerType</SPFieldName>
> <SPFieldType>Int_t</SPFieldType>
> <SPCommandOption>t</SPCommandOption>
> </SteeringParameterField>
>
> Then user can change the variable with command line option like
> ./megframework -m -t 2;
> when -m is typed, isMC becomes true.
> Trigger type will be 2.
>
> They can specify the value both with config file and command line option just same as run numbers.
> Values in config file will be overwritten by command line option.
>
>
done. |