Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

TMeshFinalProc.cxx

Go to the documentation of this file.
00001 //-------------------------------------------------------------
00002 //        Go4 Release Package v3.04-01 (build 30401)
00003 //                      28-November-2008
00004 //---------------------------------------------------------------
00005 //   The GSI Online Offline Object Oriented (Go4) Project
00006 //   Experiment Data Processing at EE department, GSI
00007 //---------------------------------------------------------------
00008 //
00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI
00010 //                    Planckstr. 1, 64291 Darmstadt, Germany
00011 //Contact:            http://go4.gsi.de
00012 //----------------------------------------------------------------
00013 //This software can be used under the license agreements as stated
00014 //in Go4License.txt file which is part of the distribution.
00015 //----------------------------------------------------------------
00016 #include "TMeshFinalProc.h"
00017 
00018 #include "Riostream.h"
00019 
00020 #include "TMeshFinalEvent.h"
00021 
00022 //***********************************************************
00023 // this one is used in TXXXAnlFact
00024 TMeshFinalProc::TMeshFinalProc(const char* name)
00025   :TGo4EventProcessor(name),fxInput1(0),fxInput2(0),fxInput3(0),fxInput12(0)
00026 {
00027   cout << "**** TMeshFinalProc: Create" << endl;
00028 }
00029 //***********************************************************
00030 TMeshFinalProc::TMeshFinalProc()
00031   : TGo4EventProcessor("FinalProcessor"),fxInput1(0),fxInput2(0),fxInput3(0),fxInput12(0)
00032 {
00033 }
00034 //***********************************************************
00035 TMeshFinalProc::~TMeshFinalProc()
00036 {
00037 }
00038 //***********************************************************
00039 
00040 //-----------------------------------------------------------
00041 void TMeshFinalProc::Analysis(TMeshFinalEvent* poutevt)
00042 {
00043 if(poutevt==0) return;
00045 if(fxInput1==0)
00046       {
00047          fxInput1=dynamic_cast<TMeshB1OutputEvent*>(GetInputEvent("Output1Provider"));
00048       }
00049 if(fxInput2==0)
00050       {
00051          fxInput2=dynamic_cast<TMeshB2OutputEvent*>(GetInputEvent("Output2Provider"));
00052       }
00053 if(fxInput3==0)
00054       {
00055          fxInput3=dynamic_cast<TMeshB3OutputEvent*>(GetInputEvent("Output3Provider"));
00056       }
00057 if(fxInput12==0)
00058       {
00059          fxInput12=dynamic_cast<TMeshB12OutputEvent*>(GetInputEvent("Output12Provider"));
00060       }
00061 
00063 //if(fxInput12 && fxInput3)
00064 //   {
00065 //      // normal case, combine all final results
00066 //
00067 //   }
00068 //else if (fxInput1 && fxInput2 && fxInput3 )
00069 //   {
00070 //      // work on these. any combination of inputs may be processed
00071 //      // depending on the previous setup
00072 //      // we might steer the final processing via parameter
00073 //   }
00074 //else
00075 //      {
00076 //         throw TGo4UserException(3,"Error: not all input events available for processor %s",GetName(););
00077 //      }
00078 
00079 // for the moment, we just copy the component results into final event;
00080 if(fxInput1)
00081       poutevt->fxB1=*fxInput1; // be sure assignment operator is correct!
00082 if(fxInput2)
00083       poutevt->fxB2=*fxInput2; // be sure assignment operator is correct!
00084 if(fxInput3)
00085       poutevt->fxB3=*fxInput3; // be sure assignment operator is correct!
00086 if(fxInput12)
00087       poutevt->fxB12=*fxInput12; // be sure assignment operator is correct!
00088 
00089 
00090 }
00091 
00092 //----------------------------END OF GO4 SOURCE FILE ---------------------

Generated on Fri Nov 28 12:59:11 2008 for Go4-v3.04-1 by  doxygen 1.4.2