• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

beamtime/cern-gem12/go4/TCernGem12Analysis.cxx (r4864/r3571)

Go to the documentation of this file.
00001 
00002 
00003 #include "TCernGem12Analysis.h"
00004 
00005 #include <stdlib.h>
00006 #include "TGo4Version.h"
00007 #if __GO4BUILDVERSION__ > 40502
00008 #include "go4iostream.h"
00009 #else
00010 #include "Riostream.h"
00011 #endif
00012 
00013 #include "Go4EventServer.h"
00014 #include "TGo4StepFactory.h"
00015 #include "TGo4AnalysisStep.h"
00016 #include "TGo4Version.h"
00017 
00018 //***********************************************************
00019 TCernGem12Analysis::TCernGem12Analysis()
00020 {
00021 }
00022 //***********************************************************
00023 
00024 // this constructor is called by go4analysis executable
00025 TCernGem12Analysis::TCernGem12Analysis(int argc, char** argv) :
00026          TGo4Analysis(argc, argv)
00027 {
00028    cout << "**** Create TCernGem12Analysis name: " << argv[0] << endl;
00029 
00030    if (!TGo4Version::CheckVersion(__GO4BUILDVERSION__)) {
00031       cout << "****  Go4 version mismatch" << endl;
00032       exit(-1);
00033    }
00034 
00035    TGo4StepFactory* factory = new TGo4StepFactory("Factory");
00036    factory->DefEventProcessor("CernGem12UnpackProc","TCernGem12UnpackProc");// object name, class name
00037    factory->DefOutputEvent("CernGem12UnpackEvent","TCernGem12UnpackEvent"); // object name, class name
00038 
00039    Text_t lmdfile[512]; // source file
00040    sprintf(lmdfile,"%s/data/test.lmd",getenv("GO4SYS"));
00041    TGo4EventSourceParameter* sourcepar = new TGo4MbsFileParameter(lmdfile);
00042 
00043    TGo4FileStoreParameter* storepar = new TGo4FileStoreParameter(Form("%sOutput", argv[0]));
00044    storepar->SetOverwriteMode(kTRUE);
00045 
00046    TGo4AnalysisStep* step = new TGo4AnalysisStep("Unpack", factory, sourcepar, storepar);
00047 
00048    step->SetSourceEnabled(kTRUE);
00049    step->SetStoreEnabled(kFALSE);
00050    step->SetProcessEnabled(kTRUE);
00051    step->SetErrorStopEnabled(kTRUE);
00052 
00053    // Now the first analysis step is set up.
00054    // Other steps could be created here
00055    AddAnalysisStep(step);
00056 
00057 
00058    TGo4StepFactory* factory2 = new TGo4StepFactory("Factory2");
00059    factory2->DefEventProcessor("CernGem12DetectorProc","TCernGem12DetectorProc");// object name, class name
00060    factory2->DefInputEvent("CernGem12UnpackEvent","TCernGem12UnpackEvent"); // object name, class name 
00061    factory2->DefOutputEvent("CernGem12DetectorEvent","TCernGem12DetectorEvent"); // object name, class name
00062 
00063 
00064    TGo4AnalysisStep* step2 = new TGo4AnalysisStep("Detector", factory2, 0, 0);
00065 
00066    step2->SetSourceEnabled(kFALSE);
00067    step2->SetStoreEnabled(kFALSE);
00068    step2->SetProcessEnabled(kTRUE);
00069    step2->SetErrorStopEnabled(kTRUE);
00070 
00071    AddAnalysisStep(step2);
00072 
00073    TGo4StepFactory* factory3 = new TGo4StepFactory("Factory3");
00074    factory3->DefEventProcessor("CernGem12FinalProc","TCernGem12FinalProc");// object name, class name
00075    factory3->DefInputEvent("CernGem12DetectorEvent","TCernGem12DetectorEvent"); // object name, class name
00076    factory3->DefOutputEvent("CernGem12FinalEvent","TCernGem12FinalEvent"); // object name, class name
00077 
00078 
00079    TGo4AnalysisStep* step3 = new TGo4AnalysisStep("Final", factory3, 0, 0);
00080 
00081    step3->SetSourceEnabled(kFALSE);
00082    step3->SetStoreEnabled(kFALSE);
00083    step3->SetProcessEnabled(kTRUE);
00084    step3->SetErrorStopEnabled(kTRUE);
00085 
00086    AddAnalysisStep(step3);
00087 
00088    // uncomment following line to define custom passwords for analysis server
00089    // DefineServerPasswords("CernGem12admin", "CernGem12ctrl", "CernGem12view");
00090 
00091 }
00092 
00093 //***********************************************************
00094 TCernGem12Analysis::~TCernGem12Analysis()
00095 {
00096    cout << "**** TCernGem12Analysis: Delete instance" << endl;
00097 }
00098 

Generated on Tue Dec 10 2013 04:52:16 for ROCsoft by  doxygen 1.7.1