added the option to split a user function into a global and run-block related part (see MUSR-134)

This commit is contained in:
nemu
2010-11-10 13:13:00 +00:00
parent c4dfc3cbce
commit f4d6e349fe
41 changed files with 2401 additions and 161 deletions

View File

@@ -33,9 +33,11 @@
#define _PUSERFCNBASE_H_
#include <vector>
using namespace std;
#include "TObject.h"
//--------------------------------------------------------------------------------------------
/**
* <p>Interface class for the user function.
*/
@@ -45,6 +47,10 @@ class PUserFcnBase : public TObject
PUserFcnBase();
virtual ~PUserFcnBase();
virtual Bool_t NeedGlobalPart() const = 0; ///< if a user function needs a global part this function should return true, otherwise false
virtual void SetGlobalPart(vector<void *> &globalPart, UInt_t idx) = 0; ///< if a user function is using a global part, this function is used to invoke and retrieve the proper global object
virtual Bool_t GlobalPartIsValid() const = 0; ///< if a user function is using a global part, this function returns if the global object part is valid
virtual Double_t operator()(Double_t t, const std::vector<Double_t> &param) const = 0;
ClassDef(PUserFcnBase, 1)