EventRecordVisitorI.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::EventRecordVisitorI
5 
6 \brief Defines the EventRecordVisitorI interface.
7  Concrete implementations of this interface use the 'Visitor' Design
8  Pattern to perform an operation on an EventRecord.
9 
10 \author Costas Andreopoulos <costas.andreopoulos \at stfc.ac.uk>
11  University of Liverpool & STFC Rutherford Appleton Lab
12 
13 \created October 04, 2004
14 
15 \cpright Copyright (c) 2003-2019, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17  or see $GENIE/LICENSE
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _EVENT_RECORD_VISITOR_I_H_
22 #define _EVENT_RECORD_VISITOR_I_H_
23 
25 
26 namespace genie {
27 
28 class GHepRecord;
29 
31 
32 public :
33 
34  virtual ~EventRecordVisitorI();
35 
36  //-- define the EventRecordVisitorI interface
37 
38  virtual void ProcessEventRecord(GHepRecord * event_rec) const = 0;
39 
40 protected :
41 
43  EventRecordVisitorI(string name);
44  EventRecordVisitorI(string name, string config);
45 };
46 
47 } // genie namespace
48 
49 #endif // _EVENT_RECORD_VISITOR_I_H_
const XML_Char * name
Definition: expat.h:151
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
virtual void ProcessEventRecord(GHepRecord *event_rec) const =0
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the &#39;Visito...
Algorithm abstract base class.
Definition: Algorithm.h:54
Definition: config.py:1
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:46