FittingService.cpp

00001 #include "Fitter.h"
00002 #include "Sct/SctNames.h"
00003 #include "Sct/IpcObjectException.h"
00004 #include "Sct/ApplicationStartupDebugTools.h"
00005 #include "FitterInterface.hh"
00006 #include <mrs/message.h>
00007 #include <ipc/core.h>
00008 #include <pmg/pmg_initSync.h>
00009 
00010 
00011 using namespace Sct;
00012 
00019 int main(int argc, char** argv){
00020   using namespace SctFitter;
00021   using namespace std;
00022 
00023   setExceptionHandlers(argv[0]);
00024   
00025   IPCCore::init(argc, argv);
00026   Sct::ApplicationStartupDebugTools::announceStartOfMain(argc, argv, __FILE__, __LINE__);
00027 
00028   try{
00029       FitterArguments opts(argc, argv);
00030       opts.print(std::cout);
00031 
00032       //Initialize the fitter with the default FitStrategy
00033       Fitter& f = Fitter::initialize(opts);
00034 
00035       if (!f.publish()){
00036       throw IpcObjectException("FittingService failed to publish", __FILE__, __LINE__);
00037       }
00038 
00039       f.go();
00040       pmg_initSync();
00041       Fitter::getFitterServer().run();
00042   }
00043   catch (Throwable& e){
00044     std::cerr << e.what()<<std::endl;;
00045     e.sendToMrs(MRS_ERROR) ; 
00046     terminate(); 
00047   }
00048 }

Generated on Mon Feb 6 14:01:20 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6