00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "TGo4AnalysisStepException.h"
00017
00018 #include "TGo4Log.h"
00019 #include "TGo4AnalysisStep.h"
00020
00021 TGo4AnalysisStepException::TGo4AnalysisStepException (TGo4AnalysisStep* step)
00022 : fxStep(0)
00023 {
00024 TRACE((14,"TGo4AnalysisStepException:TGo4AnalysisStepException (TGo4TaskHandler*)", __LINE__, __FILE__));
00025 fxDescription= "!!!-- Go4 Analysis Step Exception --!!!";
00026 if(step)
00027 {
00028 fxStep=step;
00029 fxStepName=fxStep->GetName();
00030 fxStatusMessage=fxStep->GetStatusMessage();
00031 fiProcessStatus=fxStep->GetProcessStatus();
00032 }
00033 }
00034
00035 TGo4AnalysisStepException::~TGo4AnalysisStepException()
00036 {
00037 TRACE((14,"TGo4AnalysisStepException:~TGo4AnalysisStepException", __LINE__, __FILE__));
00038
00039 }
00040
00041 TGo4AnalysisStepException & TGo4AnalysisStepException::operator= (const TGo4AnalysisStepException & right)
00042 {
00043 TRACE((14,"TGo4AnalysisStepException:operator=",__LINE__, __FILE__));
00044 if (&right!=this)
00045 {
00046 TGo4RuntimeException::operator=(right);
00047
00048 fxStep=right.fxStep;
00049 fxStepName=right.fxStepName;
00050 fxStatusMessage=right.fxStatusMessage;
00051 fiProcessStatus=right.fiProcessStatus;
00052 return *this;
00053 }
00054 else
00055 {
00056
00057 return *this;
00058 }
00059
00060
00061
00062 }
00063 TGo4AnalysisStepException::TGo4AnalysisStepException(const TGo4AnalysisStepException &right)
00064 :TGo4RuntimeException(right)
00065 {
00066 TRACE((14,"TGo4AnalysisStepException:TGo4AnalysisStepException(right)", __LINE__, __FILE__)); ;
00067 fxStep=right.fxStep;
00068 fxStepName=right.fxStepName;
00069 fxStatusMessage=right.fxStatusMessage;
00070 fiProcessStatus=right.fiProcessStatus;
00071 }
00072
00073 Int_t TGo4AnalysisStepException::Handle()
00074 {
00075 TRACE((12,"TGo4AnalyisStepException::Handle()", __LINE__, __FILE__));
00076
00077 TGo4Log::Error("%s \n Step %s, ProcessStatus:%d, %s",
00078 What(),GetStepName(),GetProcessStatus(),GetStatusMessage());
00079 return 0;
00080 }
00081
00082