GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TMeshParameter.cxx
Go to the documentation of this file.
1 // $Id$
2 //-----------------------------------------------------------------------
3 // The GSI Online Offline Object Oriented (Go4) Project
4 // Experiment Data Processing at EE department, GSI
5 //-----------------------------------------------------------------------
6 // Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7 // Planckstr. 1, 64291 Darmstadt, Germany
8 // Contact: http://go4.gsi.de
9 //-----------------------------------------------------------------------
10 // This software can be used under the license agreements as stated
11 // in Go4License.txt file which is part of the distribution.
12 //-----------------------------------------------------------------------
13 
14 #include "TMeshParameter.h"
15 
16 #include "TGo4Status.h"
17 #include "TGo4AnalysisStep.h"
18 #include "TGo4Analysis.h"
19 
21  TGo4Parameter("MeshParameter")
22 {
23 }
24 
25 TMeshParameter::TMeshParameter(const char *name) :
26  TGo4Parameter(name)
27 {
28 }
29 
31 {
32 }
33 
34 void TMeshParameter::Print(Option_t *) const
35 {
36  TGo4Status::PrintLine("Parameter %s:", GetName());
37  TGo4Status::PrintLine(" fbUnpackOn=%s",fbUnpackOn ? "true" : "false");
38  TGo4Status::PrintLine(" fbExec1On=%s",fbExec1On ? "true" : "false");
39  TGo4Status::PrintLine(" fbExec2On=%s",fbExec2On ? "true" : "false");
40  TGo4Status::PrintLine(" fbExec3On=%s",fbExec3On ? "true" : "false");
41  TGo4Status::PrintLine(" fbExec12On=%s",fbExec12On ? "true" : "false");
42  TGo4Status::PrintLine(" fbCollectorOn=%s",fbCollectorOn ? "true" : "false");
43 }
44 
46 {
47  auto from = dynamic_cast<TMeshParameter *>(pp);
48  if (!from) {
49  TGo4Log::Error("Wrong parameter object: %s", pp->ClassName());
50  return kFALSE;
51  }
52 
53  fbUnpackOn=from->fbUnpackOn;
54  fbExec1On=from->fbExec1On;
55  fbExec2On=from->fbExec2On;
56  fbExec3On=from->fbExec3On;
57  fbExec12On=from->fbExec12On;
58  fbCollectorOn=from->fbCollectorOn;
59  std::cout <<"Updated Parameter "<<GetName() << std::endl;
61  TGo4AnalysisStep *unpack=ana->GetAnalysisStep("Unpack");
62  if(unpack)
64 
65  TGo4AnalysisStep *pror1=ana->GetAnalysisStep("Input1Provider");
66  TGo4AnalysisStep *ex1=ana->GetAnalysisStep("Exec1");
67  if(pror1 && ex1)
68  {
72  }
73  TGo4AnalysisStep *pror2=ana->GetAnalysisStep("Input2Provider");
74  TGo4AnalysisStep *ex2=ana->GetAnalysisStep("Exec2");
75  if(pror2 && ex2)
76  {
80  }
81  TGo4AnalysisStep *pror3=ana->GetAnalysisStep("Input3Provider");
82  TGo4AnalysisStep *ex3=ana->GetAnalysisStep("Exec3");
83  if(pror3 && ex3)
84  {
88  }
89 
90  TGo4AnalysisStep *pro1=ana->GetAnalysisStep("Output1Provider");
91  TGo4AnalysisStep *pro2=ana->GetAnalysisStep("Output2Provider");
92  TGo4AnalysisStep *pro3=ana->GetAnalysisStep("Output3Provider");
93  TGo4AnalysisStep *ex12=ana->GetAnalysisStep("Exec12");
94  if(pro1 && pro2 && pro3 && ex12)
95  {
101  pro3->SetSourceEnabled(!fbExec3On);
103  }
104  TGo4AnalysisStep *pro12=ana->GetAnalysisStep("Output12Provider");
105  TGo4AnalysisStep *fin=ana->GetAnalysisStep("Final");
106  if(pro12 && fin)
107  {
109  pro12->SetSourceEnabled(!fbExec12On);
111 
112  }
113  std::cout <<"Parameter "<<GetName()<<" changed steps setup" << std::endl;
114 
115  return kTRUE;
116 }
void Print(Option_t *opt="") const override
TGo4AnalysisStep * GetAnalysisStep(const char *name)
void SetSourceEnabled(Bool_t on=kTRUE)
Bool_t UpdateFrom(TGo4Parameter *) override
Bool_t fbCollectorOn
static void Error(const char *text,...) GO4_PRINTF_ARGS
Definition: TGo4Log.cxx:320
void SetProcessEnabled(Bool_t on=kTRUE)
static void PrintLine(const char *text,...)
Definition: TGo4Status.cxx:101
virtual ~TMeshParameter()
static TGo4Analysis * Instance()