MARLEY (Model of Argon Reaction Low Energy Yields)  v1.2.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
MacroEventFileReader.hh
1 //
5 // This file is part of MARLEY (Model of Argon Reaction Low Energy Yields)
6 //
7 // MARLEY is free software: you can redistribute it and/or modify it under the
8 // terms of version 3 of the GNU General Public License as published by the
9 // Free Software Foundation.
10 //
11 // For the full text of the license please see COPYING or
12 // visit http://opensource.org/licenses/GPL-3.0
13 //
14 // Please respect the MCnet academic usage guidelines. See GUIDELINES
15 // or visit https://www.montecarlonet.org/GUIDELINES for details.
16 
17 #pragma once
18 
19 // Standard library includes
20 #include <string>
21 
22 namespace marley {
23 
24  // Forward-declare the Event class
25  class Event;
26 
28 
29  public:
30 
31  MacroEventFileReader( const std::string& file_name );
32 
34 
35  bool next_event(marley::Event& ev);
36 
37  operator bool() const;
38 
41  next_event( ev );
42  return *this;
43  }
44 
45  double flux_averaged_xsec( bool natural_units = false ) const;
46 
47  protected:
48 
49  void* event_file_reader_;
50  };
51 
52 }
Container for ingoing and outgoing momentum 4-vectors from a reaction.
Definition: Event.hh:66
Definition: MacroEventFileReader.hh:27
MacroEventFileReader & operator>>(marley::Event &ev)
Stream operator for reading in the next event.
Definition: MacroEventFileReader.hh:40