00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "TGo4ComSetCanvas.h"
00017
00018 #include "TCanvas.h"
00019
00020 #include "Go4Log/TGo4Log.h"
00021 #include "Go4AnalysisClient/TGo4AnalysisClientImp.h"
00022 #include "Go4Analysis/TGo4AnalysisImp.h"
00023
00024 TGo4ComSetCanvas::TGo4ComSetCanvas(const char* obname)
00025 :TGo4AnalysisObjectCommand("ANSetCanv","Define TCanvas on analysis",obname),
00026 fxStatus(0)
00027 {
00028 TRACE((12,"TGo4ComSetCanvas::TGo4ComSetCanvas(const char*) ctor",__LINE__, __FILE__));
00029 SetReceiverName("AnalysisClient");
00030
00031 SetProtection(kGo4ComModeController);
00032 }
00033 TGo4ComSetCanvas::TGo4ComSetCanvas()
00034 :TGo4AnalysisObjectCommand("ANSetCanv","Define TCanvas on analysis","mypara"),
00035 fxStatus(0)
00036 {
00037 TRACE((12,"TGo4ComSetCanvas::TGo4ComSetCanvas() ctor",__LINE__, __FILE__));
00038 SetReceiverName("AnalysisClient");
00039
00040 SetProtection(kGo4ComModeController);
00041 }
00042
00043 TGo4ComSetCanvas::~TGo4ComSetCanvas()
00044 {
00045 TRACE((12,"TGo4ComSetCanvas::~TGo4ComSetCanvas() dtor",__LINE__, __FILE__));
00046 delete fxStatus;
00047 }
00048 Int_t TGo4ComSetCanvas::ExeCom()
00049 {
00050 TRACE((12,"TGo4ComSetCanvas::ExeCom()",__LINE__, __FILE__));
00051
00052 TGo4AnalysisClient* cli=dynamic_cast<TGo4AnalysisClient*> (fxReceiverBase);
00053 if (cli!=0)
00054 {
00055 TRACE((11,"TGo4ComSetCanvas::ExeCom() - found valid receiver",__LINE__, __FILE__));
00056 if(fxStatus==0)
00057 {
00058 cli->SendStatusMessage(3, kTRUE,"SetCanvas - ERROR: no settings specified for %s",
00059 GetObjectName());
00060 return 0;
00061 } else {}
00062 SetObjectName(fxStatus->GetName());
00063 TGo4Log::Debug(" %s : Setting parameter %s ",
00064 GetName(), GetObjectName());
00065 TGo4Analysis* ana=TGo4Analysis::Instance();
00066 if(ana)
00067 {
00068 if(ana->SetCanvas(GetObjectName(),fxStatus))
00069 {
00070 cli->SendStatusMessage(1, kTRUE,"Canvas %s was defined on analysis.",
00071 GetObjectName());
00072 }
00073 else
00074 {
00075 cli->SendStatusMessage(3, kTRUE,"SetCanvas - ERROR: failed to set %s",
00076 GetObjectName());
00077 }
00078 }
00079 else
00080 {
00081 cli->SendStatusMessage(3, kTRUE," %s ERROR no analysis",
00082 GetName());
00083 }
00084 }
00085 else
00086 {
00087 TRACE((11,"TGo4ComSetCanvas::ExeCom() - no receiver specified ERROR!",__LINE__, __FILE__));
00088 TGo4Log::Debug(" !!! %s : NO RECEIVER ERROR!!!",GetName());
00089 return 1;
00090 }
00091 return -1;
00092 }
00093
00094 void TGo4ComSetCanvas::SetCanvasStatus(TCanvas* can)
00095 {
00096 if(!can) return;
00097 delete fxStatus;
00098 fxStatus=new TGo4CanvasStatus(can,kFALSE);
00099 }
00100
00101 ClassImp(TGo4ComSetCanvas)
00102
00103
00104
00105
00106