16 #include "TObjArray.h" 28 TNamed(name,
"The Go4 Analysis Step Manager"),
31 fiCurrentStepIndex(0),
32 fbStepCheckingMode(kTRUE),
33 fxCurrentStep(nullptr),
34 fxOutputEvent(nullptr)
48 GO4TRACE((14,
"TGo4AnalysisStepManager::CloseAnalysis()",__LINE__, __FILE__));
50 TGo4Log::Debug(
"Analysis Step Manager -- closing analysis steps...");
53 while((step= dynamic_cast<TGo4AnalysisStep *>(
fxStepIterator->Next() ) ) !=
nullptr)
57 TGo4Log::Debug(
"Analysis Step Manager -- analysis steps were closed.");
62 GO4TRACE((14,
"TGo4AnalysisStepManager::InitEventClasses()",__LINE__, __FILE__));
65 Bool_t firststepfound = kFALSE;
66 Bool_t laststepfound = kFALSE;
67 TGo4Log::Debug(
"Analysis StepManager -- Initializing EventClasses...");
71 while((step = dynamic_cast<TGo4AnalysisStep *>(
fxStepIterator->Next())) !=
nullptr)
105 while((step = dynamic_cast<TGo4AnalysisStep *>(
fxStepIterator->Next())) !=
nullptr)
121 TGo4Log::Debug(
"AnalysisStepManager -- Initializing EventClasses done.");
127 GO4TRACE((12,
"TGo4AnalysisStepManager::SetFirstStep(const char *)",__LINE__, __FILE__));
129 Bool_t result = kFALSE;
158 GO4TRACE((12,
"TGo4AnalysisStepManager::SetLastStep(const char *)",__LINE__, __FILE__));
198 GO4TRACE((12,
"TGo4AnalysisStepManager::SetStepStorage(const char *, Bool_t)",__LINE__, __FILE__));
199 Bool_t result = kFALSE;
213 GO4TRACE((12,
"TGo4AnalysisStepManager::NewStepStore(const char *, TGo4EventStoreParameter *)",__LINE__, __FILE__));
214 Bool_t result=kFALSE;
238 GO4TRACE((12,
"TGo4AnalysisStepManager::NewStepSource(const char *, TGo4EventSourceParameter *)",__LINE__, __FILE__));
239 Bool_t result=kFALSE;
261 GO4TRACE((12,
"TGo4AnalysisStepManager::NewStepProcessor(const char *, TGo4EventProcessorParameter *)",__LINE__, __FILE__));
262 Bool_t result = kFALSE;
277 return step ? step->
Store(par) : 1;
283 return step ? step->
Store(con) : 1;
289 return step ? step->
Store(fit) : 1;
295 return step ? step->
Store(folder) : 1;
300 GO4TRACE((11,
"TGo4AnalysisStepManager::GetInputEvent(Int_t)",__LINE__, __FILE__));
314 GO4TRACE((11,
"TGo4AnalysisStepManager::GetInputEvent(Int_t)",__LINE__, __FILE__));
329 GO4TRACE((11,
"TGo4AnalysisStepManager::GetOutputEvent(const char *)",__LINE__, __FILE__));
342 GO4TRACE((11,
"TGo4AnalysisStepManager::GetOutputEvent(Int_t)",__LINE__, __FILE__));
356 GO4TRACE((14,
"TGo4AnalysisStepManager::AddAnalysisStep(TGo4AnalysisStep *)",__LINE__, __FILE__));
364 GO4TRACE((12,
"TGo4AnalysisStepManager::AddAnalysisStep -- Adding new analysis step",__LINE__, __FILE__));
385 GO4TRACE((12,
"TGo4AnalysisStepManager::AddAnalysisStep -- Analysis step was already there",__LINE__, __FILE__));
393 GO4TRACE((12,
"TGo4AnalysisStepManager::AddAnalysisStep -- Zero Analysis step pointer",__LINE__, __FILE__));
402 GO4TRACE((11,
"TGo4AnalysisStepManager::GetAnalysisStep(const char *)",__LINE__, __FILE__));
418 GO4TRACE((11,
"TGo4AnalysisStepManager::GetAnalysisStepNum(Int_t)",__LINE__, __FILE__));
419 if ((number < 0) || (number >
fxStepList->GetLast()))
return nullptr;
426 GO4TRACE((11,
"TGo4AnalysisStepManager::ProcessAnalysisSteps()",__LINE__, __FILE__));
430 Bool_t isfirststep = kTRUE;
432 Int_t repeatinputstart=-1;
447 isfirststep = kFALSE;
468 GO4TRACE((11,
"TGo4AnalysisStepManager::UpdateStatus(TGo4AnalysisStatus*)",__LINE__, __FILE__));
485 GO4TRACE((11,
"TGo4AnalysisStepManager::SetStatus(TGo4AnalysisStatus*)",__LINE__, __FILE__));
505 GO4TRACE((12,
"TGo4AnalysisStepManager::AutoSave()",__LINE__, __FILE__));
511 while((step = dynamic_cast<TGo4AnalysisStep *>(
fxStepIterator->Next())) !=
nullptr) {
Int_t Store(const char *name, TGo4Parameter *obj)
static TGo4MainTree * Instance()
void SetOutputEvent(TGo4EventElement *event)
TGo4AnalysisStep * fxCurrentStep
Bool_t NewStepProcessor(const char *name, TGo4EventProcessorParameter *par)
Int_t GetFirstStepIndex() const
Bool_t NewStepSource(const char *name, TGo4EventSourceParameter *par)
void UpdateStatus(TGo4AnalysisStatus *state)
void SetStatus(TGo4AnalysisStatus *state)
TGo4AnalysisStepManager(const char *name)
void SetPreviousStep(TGo4AnalysisStep *pre)
Bool_t IsSourceImplemented() const
Int_t Store(TGo4Parameter *cali)
void NewEventStore(TGo4EventStoreParameter *kind)
Int_t ProcessAnalysisSteps()
void NewEventSource(TGo4EventSourceParameter *kind)
void SetStatus(TGo4AnalysisStepStatus *state)
TGo4EventElement * GetOutputEvent() const
TGo4AnalysisStep * GetAnalysisStep(const char *name) const
Int_t IsStepChecking() const
TGo4EventElement * GetOutputEvent() const
Int_t IsErrorStopEnabled() const
Int_t Write(const char *dummy=nullptr, Int_t option=0, Int_t bufsize=0) override
Bool_t IsKeepInputEvent() const
void SetFirstStepIndex(Int_t i)
Bool_t IsProcessEnabled() const
void SetSourceEnabled(Bool_t on=kTRUE)
Bool_t SetStepStorage(const char *name, Bool_t on)
static void Debug(const char *text,...) GO4_PRINTF_ARGS
TGo4AnalysisStep * GetAnalysisStepNum(Int_t number) const
void SetStatusMessage(const char *txt)
void SetStepChecking(Int_t on)
void Message(Int_t prio, const char *text,...)
TGo4AnalysisStepStatus * CreateStatus()
Bool_t AddStepStatus(TGo4AnalysisStepStatus *next)
virtual Bool_t InitEventClasses()
Bool_t NewStepStore(const char *name, TGo4EventStoreParameter *par)
Bool_t AddAnalysisStep(TGo4AnalysisStep *next)
Bool_t IsMatchingPrevious() const
Bool_t IsStepChecking() const
TGo4AnalysisStepStatus * GetStepStatus(const char *name)
TIterator * fxStepIterator
Bool_t IsKeepOutputEvent() const
void SetStoreEnabled(Bool_t on=kTRUE)
TGo4EventElement * GetInputEvent()
TGo4EventProcessor * GetEventProcessor() const
Int_t GetLastStepIndex() const
virtual void InitEventClasses()
void SetLastStepIndex(Int_t i)
void NewEventProcessor(TGo4EventProcessorParameter *kind)
Bool_t fbStepCheckingMode
static TGo4Analysis * Instance()
TGo4EventElement * GetInputEvent(const char *stepname) const
Bool_t SetFirstStep(const char *name)
Int_t GetNumberOfAnalysisSteps() const
virtual ~TGo4AnalysisStepManager()
Bool_t SetLastStep(const char *name)