Skip to content
Snippets Groups Projects
Commit 69c55ed8 authored by lintao@ihep.ac.cn's avatar lintao@ihep.ac.cn
Browse files

WIP: migrate StdHepRdr.

parent 3b7aec88
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@ set(GenAlgo_srcs
src/GenAlgo.cpp
src/GenEvent.cpp
src/GenReader.cpp
# src/StdHepRdr.cpp
src/StdHepRdr.cpp
# src/GenPrinter.cpp
# src/LCAscHepRdr.cc
# src/HepevtRdr.cpp
......
......@@ -92,10 +92,10 @@ GenAlgo::execute() {
StatusCode
GenAlgo::finalize() {
cout << "finalize" << endl;
for(auto gentool: m_genTools) {
if (gentool->finish()) {}
else {cout << "finish Failed" << endl; return StatusCode::FAILURE; }
}
// cout << "finalize" << endl;
// for(auto gentool: m_genTools) {
// if (gentool->finish()) {}
// else {cout << "finish Failed" << endl; return StatusCode::FAILURE; }
// }
return StatusCode::SUCCESS;
}
......@@ -26,17 +26,10 @@ using namespace IMPL;
using namespace plcio;
using namespace std;
StdHepRdr::StdHepRdr(string name){
m_stdhep_rdr = new LCStdHepRdrNew(name.c_str());
m_stdhep_rdr->printHeader();
m_total_event = m_stdhep_rdr->getNumberOfEvents() - 1 ;
m_processed_event=0;
}
DECLARE_COMPONENT(StdHepRdr)
StdHepRdr::~StdHepRdr(){
delete m_stdhep_rdr;
delete m_stdhep_rdr;
}
bool StdHepRdr::mutate(MyHepMC::GenEvent& event){
......@@ -98,10 +91,40 @@ if(m_processed_event == m_total_event) {std::cout<<"Have read all events, end no
else return false;
}
bool StdHepRdr::configure(){
return true;
bool StdHepRdr::configure_gentool(){
m_stdhep_rdr = new LCStdHepRdrNew(m_filename.value().c_str());
m_stdhep_rdr->printHeader();
if (m_stdhep_rdr->getNumberOfEvents()<=1) {
return false;
}
m_total_event = m_stdhep_rdr->getNumberOfEvents() - 1 ;
m_processed_event=0;
return true;
}
bool StdHepRdr::finish(){
return true;
return true;
}
StatusCode
StdHepRdr::initialize() {
StatusCode sc;
if (not configure_gentool()) {
error() << "failed to initialize." << endmsg;
return StatusCode::FAILURE;
}
return sc;
}
StatusCode
StdHepRdr::finalize() {
StatusCode sc;
if (not finish()) {
error() << "Failed to finalize." << endmsg;
return StatusCode::FAILURE;
}
return sc;
}
#ifndef StdHepRdr_h
#define StdHepRdr_h 1
#include "GaudiKernel/AlgTool.h"
#include "GenReader.h"
#include "GenEvent.h"
......@@ -9,19 +11,30 @@
#include "UTIL/LCStdHepRdrNew.h"
class StdHepRdr: public GenReader{
class StdHepRdr: public extends<AlgTool, GenReader> {
public:
using extends::extends;
~StdHepRdr();
// Overriding initialize and finalize
StatusCode initialize() override;
StatusCode finalize() override;
bool configure_gentool() override;
bool mutate(MyHepMC::GenEvent& event) override;
bool finish() override;
bool isEnd() override;
private:
lcio::LCStdHepRdrNew* m_stdhep_rdr{nullptr};
long m_total_event{-1};
long m_processed_event{-1};
// input file name
Gaudi::Property<std::string> m_filename{this, "Input"};
public:
StdHepRdr(string name);
~StdHepRdr();
bool configure();
bool mutate(MyHepMC::GenEvent& event);
bool finish();
bool isEnd();
private:
lcio::LCStdHepRdrNew* m_stdhep_rdr;
long m_total_event;
long m_processed_event;
};
#endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment