StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
VinciaDiagnostics.h
1 // VinciaDiagnostics.h is a part of the PYTHIA event generator.
2 // Copyright (C) 2020 Peter Skands, Torbjorn Sjostrand.
3 // PYTHIA is licenced under the GNU GPL v2 or later, see COPYING for details.
4 // Please respect the MCnet Guidelines, see GUIDELINES for details.
5 
6 //File Created 13/11/18 by H Brooks
7 
8 #ifndef VINCIA_DIAG_H
9 #define VINCIA_DIAG_H
10 
11 #include "Pythia8/UserHooks.h"
12 
13 //completely abstract class for user-defined diagnostics
14 //to be used like UserHooks - but for diagnostic purposes only
15 //all functions void and arguments are passed by value or
16 //by const reference (like const Event &)
17 
18 namespace Pythia8 {
19 
20 class VinciaDiagnostics : public UserHooks {
21 
22  public:
23 
24  //Default constructor
26 
27  //Default destructor
28  ~VinciaDiagnostics(){};
29 
30  virtual void init() = 0;
31 
32  virtual void setBranchType(int branchType) = 0;
33 
34  virtual void setnBranchSys(int iSys, int nBranch) = 0;
35 
36  virtual void checkInvariants(int iSys,int iant, vector<double> invariants,
37  bool inPHSP) = 0;
38 
39  virtual void checkAnt(int iSys, double ant) = 0;
40 
41  virtual void checkAntHel(int iSys, double ant, vector<int> helsIn,
42  vector<int> helsOut) = 0;
43 
44  virtual void checkpAccept(int iSys, double pAccept) = 0;
45 
46  virtual void checkEvent(int iSys,const Event &event,int sizeOld) = 0;
47 
48 };
49 
50 } // End namespace Pythia8
51 
52 #endif