hej is hosted by Hepforge, IPPP Durham
HEJ  2.1.4
High energy resummation for hadron colliders
LesHouchesWriter.hh
Go to the documentation of this file.
1 
8 #pragma once
9 
10 #include <fstream>
11 #include <memory>
12 #include <string>
13 
14 #include "LHEF/LHEF.h"
15 
16 #include "HEJ/EventWriter.hh"
17 
18 namespace HEJ {
19  class Event;
20 
22  class LesHouchesWriter : public EventWriter{
23  public:
25 
29  LesHouchesWriter(std::string const & file, LHEF::HEPRUP heprup);
30  LesHouchesWriter(LesHouchesWriter const & other) = delete;
31  LesHouchesWriter & operator=(LesHouchesWriter const & other) = delete;
35  LesHouchesWriter(LesHouchesWriter && other) = delete;
37  ~LesHouchesWriter() override;
38 
40  void write(Event const & ev) override;
41 
43  void finish() override;
44 
45  private:
46  void write_init(){
47  writer_->init();
48  }
49 
50  void rewrite_init();
51 
52  LHEF::HEPRUP & heprup(){
53  return writer_->heprup;
54  }
55 
56  LHEF::HEPEUP & hepeup(){
57  return writer_->hepeup;
58  }
59 
60  std::fstream out_;
61  std::unique_ptr<LHEF::Writer> writer_;
62  };
63 } // namespace HEJ
Header file for the EventWriter interface.
Pure abstract base class for event writers.
Definition: EventWriter.hh:16
An event with clustered jets.
Definition: Event.hh:47
Class for writing events to a file in the Les Houches Event File format.
Definition: LesHouchesWriter.hh:22
void write(Event const &ev) override
Write an event to the file specified in the constructor.
LesHouchesWriter(LesHouchesWriter &&other)=delete
LesHouchesWriter(LesHouchesWriter const &other)=delete
void finish() override
Dump general information & finish writing.
LesHouchesWriter & operator=(LesHouchesWriter const &other)=delete
LesHouchesWriter & operator=(LesHouchesWriter &&other)=delete
LesHouchesWriter(std::string const &file, LHEF::HEPRUP heprup)
Constructor.
~LesHouchesWriter() override
Main HEJ 2 Namespace.
Definition: mainpage.dox:1