HepMC3 event record library
PhotosValidationTool.h
1 // -*- C++ -*-
2 //
3 // This file is part of HepMC
4 // Copyright (C) 2014-2019 The HepMC collaboration (see AUTHORS for details)
5 //
6 #ifndef PHOTOS_VALIDATION_TOOL_H
7 #define PHOTOS_VALIDATION_TOOL_H
8 
9 #ifdef HEPMC2
10 #include "Photos/PhotosHepMCEvent.h"
11 #include "HepMC/GenEvent.h"
12 #else
13 #include "Photos/PhotosHepMC3Event.h"
14 #include "HepMC3/GenEvent.h"
15 #include "HepMC3/Selector.h"
16 #endif // ifdef HEPMC2
17 
18 #include "ValidationTool.h"
19 #include "Timer.h"
20 
21 #include "Photos/Photos.h"
22 #include "Photos/Log.h"
23 
25 public:
27 
28 public:
29  const std::string name() { return "Photos++"; }
30  bool tool_modifies_event() { return true; }
31  Timer* timer() { return &m_timer; }
32 
33  void initialize();
34  int process(GenEvent &hepmc);
35  void finalize();
36 
37 private:
38  static const int MAX_PHOTONS_TO_KEEP_TRACK_OF = 4;
39  int m_photons_added[MAX_PHOTONS_TO_KEEP_TRACK_OF];
40  int m_more_photons_added;
41  Timer m_timer;
42 };
43 
44 #endif
Timer * timer()
Get timer for this tool (if this tool is being timed)
definition of /b Selector class
const std::string name()
Get name of the tool.
void initialize()
Initialize.
bool tool_modifies_event()
Get information if this tool modifies the event.
Stores event-related information.
Definition: GenEvent.h:42
int process(GenEvent &hepmc)
Process event.
Definition of class GenEvent.
Definition: Timer.h:29