8 #include "KVDataAnalysisTask.h"
10 #include "Riostream.h"
11 #include "TObjString.h"
13 #include "TPluginManager.h"
27 fBaseIsPlugin = kFALSE;
28 fStatusUpdateInterval = 1000;
39 #if ROOT_VERSION_CODE >= ROOT_VERSION(3,4,0)
47 #if ROOT_VERSION_CODE >= ROOT_VERSION(3,4,0)
77 KVDataAnalysisTask::~KVDataAnalysisTask()
89 cout <<
"KVDataAnalysisTask : ";
90 cout << GetName() <<
" : ";
157 if (
fBaseClass !=
"" && !TClass::GetClass(base_name)) {
161 TObjArray* toks = _base.Tokenize(
"/");
162 if (toks->GetEntries() > 1) {
164 fPluginURI = ((TObjString*)toks->At(0))->String();
165 fPluginBase = ((TObjString*)toks->At(1))->String();
176 Error(
"SetUserBaseClass",
"Analysis task=%s :\nNo plugin found with URI=%s for base class %s",
182 if (gDebug > 1) Info(
"SetUserBaseClass",
"Analysis task=%s :\nUser analysis class derives from %s, extension of %s in plugin %s",
206 Info(
"CheckUserBaseClassIsLoaded",
"Added ACliC include path: %s",
fExtraAClicIncludes.Data());
208 TClass* cl = TClass::GetClass(
fBaseClass.Data());
209 if (cl)
return kTRUE;
213 if (ph)
return kTRUE;
214 Error(
"CheckUserBaseClassIsLoaded",
"Analysis task=%s : Failed to load plugin class=%s base=%s uri=%s",
218 Error(
"CheckUserBaseClassIsLoaded",
"Analysis task=%s : User analysis base class %s is unknown",
Base class for KaliVeda framework.
virtual void Copy(TObject &) const
Make a copy of this object.
static TPluginHandler * LoadPlugin(const Char_t *base, const Char_t *uri="0")
Define and manage data analysis tasks.
Bool_t fBaseIsPlugin
true if base class for user analysis is in a plugin library
KVString fPluginBase
known base class extended by plugin library
KVString fPluginURI
uri of the plugin library containing user base class
KVString fExtraAClicIncludes
to be added to AClic include paths before compilation
virtual Bool_t CheckUserBaseClassIsLoaded()
KVString fBaseClass
base class for user analysis
virtual void Copy(TObject &) const
KVDataAnalysisTask()
Default ctor.
virtual const Char_t * GetDataAnalyser() const
virtual const Char_t * GetUserBaseClass() const
virtual const Char_t * GetPrereq() const
virtual void ls(Option_t *opt="") const
Print analysis task information.
Bool_t fUserClass
true if analysis task requires user-supplied class (derived from fBaseClass)
virtual void SetUserBaseClass(const Char_t *d)
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....