removed the 10 character limitation of the parameter name of minuit2 since this is fixed now in minuit2

This commit is contained in:
nemu 2008-08-08 13:52:28 +00:00
parent 1bf4af1eee
commit 9571fae953
2 changed files with 1 additions and 18 deletions

View File

@ -79,14 +79,7 @@ short term:
**DONE** 08-08-08 **DONE** 08-08-08
* Minuit2: name length is now unlimited and hence the 10 char restriction can be lifted. * Minuit2: name length is now unlimited and hence the 10 char restriction can be lifted.
**DONE** 08-08-08
* nonMusr: check why in nonMusr view there is NO legend??
* musrparam should be extended that is also can produce a db-file output.
I would suggest two switches:
--db -> will produce db-files but still expecting the independent variables in the par-list-file
--db-lem -> will extract some default independent variables from the system (to be checked what and
from where the data shall be taken).
* implement FFT with msr-interface * implement FFT with msr-interface

View File

@ -220,7 +220,6 @@ int PMsrHandler::ReadMsrFile()
unsigned int parX, parY; unsigned int parX, parY;
if (!CheckUniquenessOfParamNames(parX, parY)) { if (!CheckUniquenessOfParamNames(parX, parY)) {
cout << endl << "PMsrHandler::ReadMsrFile: **SEVERE ERROR** parameter name " << fParam[parX].fName.Data() << " is identical for parameter no " << fParam[parX].fNo << " and " << fParam[parY].fNo << "!"; cout << endl << "PMsrHandler::ReadMsrFile: **SEVERE ERROR** parameter name " << fParam[parX].fName.Data() << " is identical for parameter no " << fParam[parX].fNo << " and " << fParam[parY].fNo << "!";
cout << endl << "It might be that only the 10 first characters are identical. Due to a current MINUIT2 limitation, this means they are \"identical\", sorry.";
cout << endl << "Needs to be fixed first!"; cout << endl << "Needs to be fixed first!";
error = PMUSR_MSR_SYNTAX_ERROR; error = PMUSR_MSR_SYNTAX_ERROR;
} }
@ -2375,19 +2374,10 @@ void PMsrHandler::FillParameterInUse(PMsrLines &theory, PMsrLines &funcs, PMsrLi
bool PMsrHandler::CheckUniquenessOfParamNames(unsigned int &parX, unsigned int &parY) bool PMsrHandler::CheckUniquenessOfParamNames(unsigned int &parX, unsigned int &parY)
{ {
bool unique = true; bool unique = true;
char name1[11], name2[11];
for (unsigned int i=0; i<fParam.size()-1; i++) { for (unsigned int i=0; i<fParam.size()-1; i++) {
for (unsigned int j=i+1; j<fParam.size(); j++) { for (unsigned int j=i+1; j<fParam.size(); j++) {
// due to the current minuit2 limitation of 10 characters for the parameter name
memset(name1, 0, sizeof(name1));
strncpy(name1, fParam[i].fName.Data(), 10);
memset(name2, 0, sizeof(name2));
strncpy(name2, fParam[j].fName.Data(), 10);
/* as soon as the minuit2 parameter name limit is lifted, the if should become this:
if (fParam[i].fName.CompareTo(fParam[j].fName) == 0) { // equal if (fParam[i].fName.CompareTo(fParam[j].fName) == 0) { // equal
*/
if (!strcmp(name1, name2)) { // equal
unique = false; unique = false;
parX = i; parX = i;
parY = j; parY = j;