EpIC 1.1.0
Monte Carlo generator for exclusive processes
Loading...
Searching...
No Matches
WriterHepMC3.h
1/*
2 * WriterHepMC3.h
3 *
4 * Created on: Feb 11, 2021
5 * Author: Pawel Sznajder (NCBJ)
6 */
7
8#ifndef MODULES_WRITER_WRITERHEPMC3_H_
9#define MODULES_WRITER_WRITERHEPMC3_H_
10
11#include <ElementaryUtils/parameters/Parameters.h>
12#include <memory>
13#include <string>
14#include <vector>
15
16#include "../../beans/physics/Event.h"
17#include "WriterHepMC3Type.h"
18#include "WriterModule.h"
19
20namespace HepMC3 {
21class Writer;
22} /* namespace HepMC3 */
23
24namespace EPIC {
25
34
35public:
36 static const std::string PARAMETER_NAME_HEPMC3_WRITER_TYPE;
39
40 static const unsigned int classId;
42
46 WriterHepMC3(const std::string &className);
47
52
56 virtual ~WriterHepMC3();
57
58 virtual WriterHepMC3 *clone() const;
59 virtual void configure(const ElemUtils::Parameters &parameters);
60
61 virtual void open();
63 const GenerationInformation& generationInformation);
64 virtual void close();
65 virtual void write(const Event &event);
66 virtual void write(const std::vector<Event> &events);
67
68 //********************************************************
69 //*** SETTERS AND GETTERS ********************************
70 //********************************************************
71
76
81
82private:
83
87 int getParticleCode(ParticleCodeType::Type type) const;
88
89 WriterHepMC3Type::Type m_writerHepMC3Type;
90 std::shared_ptr<HepMC3::Writer> m_writerHepMC3;
91};
92
93} /* namespace EPIC */
94
95#endif /* MODULES_WRITER_WRITERHEPMC3_H_ */
Single event.
Definition: Event.h:36
Container to store run related information.
Definition: GenerationInformation.h:25
Type
Definition: ParticleCodeType.h:33
Event writer based on HepMC3.
Definition: WriterHepMC3.h:33
void setWriterHepMC3Type(WriterHepMC3Type::Type writerHepMc3Type)
static const std::string PARAMETER_NAME_HEPMC3_WRITER_TYPE
Definition: WriterHepMC3.h:36
WriterHepMC3Type::Type getWriterHepMC3Type() const
virtual ~WriterHepMC3()
virtual void write(const Event &event)
virtual void close()
virtual void open()
virtual void write(const std::vector< Event > &events)
static const unsigned int classId
WriterHepMC3::configure().
Definition: WriterHepMC3.h:40
virtual void saveGenerationInformation(const GenerationInformation &generationInformation)
WriterHepMC3(const WriterHepMC3 &other)
WriterHepMC3(const std::string &className)
Type
Definition: WriterHepMC3Type.h:32
Definition: WriterModule.h:31