Refactoring #1650

Feature #284: === Fit ===

Designation "ROOT" (or "Root" or "BA_ROOT") should not be used for code other than CERN ROOT

Added by wuttke almost 4 years ago. Updated almost 4 years ago.

Status:ResolvedStart date:20 Nov 2016
Priority:LowDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

To avoid confusion, ROOT should stand for CERN ROOT, and nothing else.
Why are other minimizers wrapped by code in a directory "RootAdapter", and enclosed in a namespace "BA_ROOT"?
Why is there a need to patch the ROOT code in ThirdParty by substituting BA_ROOT for ROOT?


Related issues

Related to BornAgain - Configuration #1615: Code organisation: in each third-party source directory, provide information about used download location, download date, and downloaded version Backlog 13 Oct 2016

History

#1 Updated by wuttke almost 4 years ago

  • Related to Configuration #1615: Code organisation: in each third-party source directory, provide information about used download location, download date, and downloaded version added

#2 Updated by pospelov almost 4 years ago

Why are other minimizers wrapped by code in a directory "RootAdapter", and enclosed in a namespace "BA_ROOT"?

We are not using, for example, GSL minimizers directly. We are using their versions already adapted by ROOT.
Our class GSLLevenbergMarquardtMinimizer is a Facade to the ROOT::Math::GSLNLSMinimizer which adapts ROOT::Math::GSLMultiFit minimizers to some ROOT generic minimizer interface. The ROOT::Math::GSLMultiFit, in turn, is a Facade to the actual GSL's gsl_multifit_fdfsolver_type.

Actually GSLLevenbergMarquardtMinimizer was previously called RootGSLNSLMinimizer but I have removed Root prefix following your request.

So all files in RootAdapter directory are directly related to ROOT. As soon as we introduce some new minimizer library, we will adapt it in separate directory.

Why is there a need to patch the ROOT code in ThirdParty by substituting BA_ROOT for ROOT?

To compile on system with ROOT installed into /usr. Otherwise our ThirdParty/RootMinimizer headers will conflict with some other ROOT installation.

#3 Updated by wuttke almost 4 years ago

  • Status changed from Rfc to Resolved
  • Priority changed from Normal to Low

Gennady's comments used to extend class header comments in b0e128d0c.

Also available in: Atom PDF