laura is hosted by Hepforge, IPPP Durham
Laura++  3.6.0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauFitter.hh
Go to the documentation of this file.
1 
2 /*
3 Copyright 2005 University of Warwick
4 
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8 
9  http://www.apache.org/licenses/LICENSE-2.0
10 
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16 */
17 
18 /*
19 Laura++ package authors:
20 John Back
21 Paul Harrison
22 Thomas Latham
23 */
24 
29 #ifndef LAU_FITTER
30 #define LAU_FITTER
31 
32 #include "LauPrint.hh"
33 
34 #include "Rtypes.h"
35 #include "TString.h"
36 
37 #include <memory>
38 
39 class LauAbsFitter;
40 
47 class LauFitter final {
48 
49  public:
51  enum class Type {
52  Minuit
53  };
54 
56 
59  static void setFitterType( const Type type );
60 
62 
65  static void setFitterVerbosity( const LauOutputLevel level );
66 
68 
71  static void setFitterMaxPars( const UInt_t maxPars );
72 
74 
77  static LauAbsFitter& fitter();
78 
80 
83  static void destroyFitter();
84 
85  private:
87  LauFitter() = default;
88 
90  ~LauFitter() = default;
91 
93  LauFitter( const LauFitter& ) = delete;
94 
96  LauFitter( LauFitter&& ) = delete;
97 
99  LauFitter& operator=( const LauFitter& ) = delete;
100 
102  LauFitter& operator=( LauFitter&& ) = delete;
103 
105  static std::unique_ptr<LauAbsFitter> theInstance_;
106 
109 
112 
114  static UInt_t fitterMaxPars_;
115 
116  ClassDef( LauFitter, 0 );
117 };
118 
119 #endif
static LauOutputLevel fitterVerbosity_
The fitter verbosity.
Definition: LauFitter.hh:111
static Type fitterType_
The fitter type.
Definition: LauFitter.hh:108
Factory class for creating and providing access to the fitter.
Definition: LauFitter.hh:47
LauFitter & operator=(LauFitter &&)=delete
Move assignment operator (deleted)
static std::unique_ptr< LauAbsFitter > theInstance_
Pointer to the singleton fitter instance.
Definition: LauFitter.hh:105
static void setFitterMaxPars(const UInt_t maxPars)
Set the maximum number of parameters for the fitter.
Definition: LauFitter.cc:64
static LauAbsFitter & fitter()
Method that provides access to the singleton fitter.
Definition: LauFitter.cc:75
static UInt_t fitterMaxPars_
The maximum number of parameters for the fitter.
Definition: LauFitter.hh:114
LauFitter(LauFitter &&)=delete
Move constructor (deleted)
The abstract interface to the fitter.
Definition: LauAbsFitter.hh:47
LauFitter & operator=(const LauFitter &)=delete
Copy assignment operator (deleted)
Type
The types of fitter available.
Definition: LauFitter.hh:51
static void setFitterType(const Type type)
Set the type of the fitter.
Definition: LauFitter.cc:42
static void destroyFitter()
Destroy the current fitter.
Definition: LauFitter.cc:90
LauFitter()=default
Constructor.
static void setFitterVerbosity(const LauOutputLevel level)
Set the verbosity level of the fitter.
Definition: LauFitter.cc:53
LauOutputLevel
Enumeration to define verbosity level for various printouts.
Definition: LauPrint.hh:40
File containing declaration of LauPrint class and LauOutputLevel enum.
LauFitter(const LauFitter &)=delete
Copy constructor (deleted)
~LauFitter()=default
Destructor.