diff --git a/Generator/CMakeLists.txt b/Generator/CMakeLists.txt index 0f850fcf1983a2d96839ce3b86a6a3bd8a076f5d..79fbb6a6dc67f24ef9c01104893d8ae8272732c0 100644 --- a/Generator/CMakeLists.txt +++ b/Generator/CMakeLists.txt @@ -6,7 +6,7 @@ set(GenAlgo_srcs src/GenEvent.cpp src/GenReader.cpp src/StdHepRdr.cpp - # src/GenPrinter.cpp + src/GenPrinter.cpp # src/LCAscHepRdr.cc # src/HepevtRdr.cpp # src/SLCIORdr.cpp diff --git a/Generator/src/GenPrinter.cpp b/Generator/src/GenPrinter.cpp index 827f5b4055dec886e91169b5407ba2ddda026e98..48c6d499451ec24b1eb9b0874b971cdc0678f3b2 100644 --- a/Generator/src/GenPrinter.cpp +++ b/Generator/src/GenPrinter.cpp @@ -1,11 +1,7 @@ #include "GenPrinter.h" #include "GenEvent.h" -GenPrinter::GenPrinter(string name){} - - -GenPrinter::~GenPrinter(){ -} +DECLARE_COMPONENT(GenPrinter) bool GenPrinter::mutate(MyHepMC::GenEvent& event){ std::cout << "print mc info for event "<< event.getID() << ", mc size ="<< event.m_mc_vec.size() << std::endl; @@ -19,12 +15,12 @@ bool GenPrinter::mutate(MyHepMC::GenEvent& event){ << "Charge :"<< p.getCharge ()<<std::endl << "Time :"<< p.getTime ()<<std::endl << "Mass :"<< p.getMass ()<<std::endl - << "Vertex :"<< p.getVertex ()[0]<<std::endl - << "Endpoint :"<< p.getEndpoint ()[1]<<std::endl - << "Momentum :"<< p.getMomentum ()[2]<<std::endl - << "MomentumAtEndpoint:"<< p.getMomentumAtEndpoint()[0]<<std::endl - << "Spin :"<< p.getSpin ()[1]<<std::endl - << "ColorFlow :"<< p.getColorFlow ()[1]<<std::endl + << "Vertex :"<< p.getVertex ()<<std::endl + << "Endpoint :"<< p.getEndpoint ()<<std::endl + << "Momentum :"<< p.getMomentum ()<<std::endl + << "MomentumAtEndpoint:"<< p.getMomentumAtEndpoint()<<std::endl + << "Spin :"<< p.getSpin ()<<std::endl + << "ColorFlow :"<< p.getColorFlow ()<<std::endl << "Parent size :"<< p.parents_size ()<<std::endl << "Daughter size :"<< p.daughters_size ()<<std::endl; //for(unsigned int j=0; j<p.parents_size(); j++) std::cout << " for parent: "<< j << ",PDG="<< p.getParents(j).getPDG() << ",id=:"<< p.getParents(j).id()<<std::endl; @@ -33,10 +29,32 @@ bool GenPrinter::mutate(MyHepMC::GenEvent& event){ return true; } -bool GenPrinter::configure(){ -return true; +bool GenPrinter::configure_gentool(){ + return true; } bool GenPrinter::finish(){ -return true; + return true; } + +StatusCode +GenPrinter::initialize() { + StatusCode sc; + if (not configure_gentool()) { + error() << "failed to initialize." << endmsg; + return StatusCode::FAILURE; + } + + return sc; +} + +StatusCode +GenPrinter::finalize() { + StatusCode sc; + if (not finish()) { + error() << "Failed to finalize." << endmsg; + return StatusCode::FAILURE; + } + return sc; +} + diff --git a/Generator/src/GenPrinter.h b/Generator/src/GenPrinter.h index 9fe8a1c9d9fa3306db67471fc686885fbbfa2c8b..bf53200342e81899aaa93df656390f2d3dd7c0e5 100644 --- a/Generator/src/GenPrinter.h +++ b/Generator/src/GenPrinter.h @@ -1,19 +1,24 @@ #ifndef GenPrinter_h #define GenPrinter_h 1 +#include <GaudiKernel/AlgTool.h> #include "GenEvent.h" #include "IGenTool.h" using namespace std; -class GenPrinter: public IGenTool{ +class GenPrinter: public extends<AlgTool, IGenTool> { +public: + using extends::extends; - public: - GenPrinter(string name); - ~GenPrinter(); - bool configure() override; - bool mutate(MyHepMC::GenEvent& event) override; - bool finish() override; + // Overriding initialize and finalize + StatusCode initialize() override; + StatusCode finalize() override; + +public: + bool configure_gentool() override; + bool mutate(MyHepMC::GenEvent& event) override; + bool finish() override; }; #endif