Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:22:13

0001 // @(#)root/minuit2:$Id$
0002 // Author:  L. Moneta 2012
0003 
0004 /**********************************************************************
0005  *                                                                    *
0006  * Copyright (c) 2012 LCG ROOT Math team,  CERN/PH-SFT                *
0007  *                                                                    *
0008  **********************************************************************/
0009 
0010 #ifndef ROOT_Minuit2_MnTraceObject
0011 #define ROOT_Minuit2_MnTraceObject
0012 
0013 namespace ROOT {
0014 
0015 namespace Minuit2 {
0016 
0017 class MinimumState;
0018 class MnUserParameterState;
0019 
0020 class MnTraceObject {
0021 
0022 public:
0023    MnTraceObject(int parNumber = -1) : fUserState(nullptr), fParNumber(parNumber) {}
0024 
0025    virtual ~MnTraceObject() {}
0026 
0027    virtual void Init(const MnUserParameterState &state) { fUserState = &state; }
0028 
0029    virtual void operator()(int i, const MinimumState &state);
0030 
0031    const MnUserParameterState &UserState() const { return *fUserState; }
0032 
0033    void SetParNumber(int number) { fParNumber = number; }
0034 
0035    int ParNumber() const { return fParNumber; }
0036 
0037 private:
0038    const MnUserParameterState *fUserState;
0039    int fParNumber;
0040 };
0041 
0042 } // namespace Minuit2
0043 } // namespace ROOT
0044 
0045 #endif // ROOT_Minuit2_MnTraceIter