MARLEY (Model of Argon Reaction Low Energy Yields)  v1.2.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
EventProcessor.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 namespace marley {
20 
21  // Forward-declare some needed classes
22  class Event;
23  class Generator;
24 
28 
29  public:
30 
31  inline EventProcessor() {}
32 
33  inline virtual ~EventProcessor() = default;
34 
39  virtual void process_event( marley::Event& ev,
40  marley::Generator& gen ) = 0;
41  };
42 
43 }
Container for ingoing and outgoing momentum 4-vectors from a reaction.
Definition: Event.hh:66
Abstract base class for entities that take a marley::Event as input and possibly modify it.
Definition: EventProcessor.hh:27
virtual void process_event(marley::Event &ev, marley::Generator &gen)=0
Processes an input MARLEY Event object.
The MARLEY Event generator.
Definition: Generator.hh:42