File indexing completed on 2025-01-18 10:11:20
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef ROO_CHANGE_TRACKER
0017 #define ROO_CHANGE_TRACKER
0018
0019 #include "RooAbsReal.h"
0020 #include "RooListProxy.h"
0021 #include <vector>
0022
0023 class RooChangeTracker : public RooAbsReal {
0024 public:
0025
0026 RooChangeTracker() = default;
0027 RooChangeTracker(const char *name, const char *title, const RooArgSet& trackSet, bool checkValues=false) ;
0028
0029 RooChangeTracker(const RooChangeTracker& other, const char* name = nullptr);
0030 TObject* clone(const char* newname) const override { return new RooChangeTracker(*this, newname); }
0031
0032 bool hasChanged(bool clearState) ;
0033
0034 RooArgSet parameters() const ;
0035
0036
0037 protected:
0038
0039 RooListProxy _realSet ;
0040 RooListProxy _catSet ;
0041 std::vector<double> _realRef ;
0042 std::vector<Int_t> _catRef ;
0043 bool _checkVal = false;
0044
0045 bool _init = false;
0046
0047 double evaluate() const override { return 1 ; }
0048
0049 ClassDefOverride(RooChangeTracker,1)
0050 };
0051
0052 #endif