herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
MatchboxFactoryMatcher.h
1 // -*- C++ -*-
2 //
3 // MatchboxFactoryMatcher.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2002-2019 The Herwig Collaboration
5 //
6 // Herwig is licenced under version 3 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef Herwig_MatchboxFactoryMatcher_H
10 #define Herwig_MatchboxFactoryMatcher_H
11 //
12 // This is the declaration of the MatchboxFactoryMatcher class.
13 //
14 
15 #include "ThePEG/PDT/MatcherBase.h"
16 #include "Herwig/MatrixElement/Matchbox/MatchboxFactory.h"
17 
18 namespace Herwig {
19 
20 using namespace ThePEG;
21 
33 
34 public:
35 
42 
46  virtual ~MatchboxFactoryMatcher();
48 
49 public:
50 
54  virtual bool check(const ParticleData &) const;
55 
61  virtual PMPtr pmclone() const;
62 
63 public:
64 
71  void persistentOutput(PersistentOStream & os) const;
72 
78  void persistentInput(PersistentIStream & is, int version);
80 
87  static void Init();
88 
89 protected:
90 
97  virtual IBPtr clone() const;
98 
103  virtual IBPtr fullclone() const;
105 
106 
107 // If needed, insert declarations of virtual function defined in the
108 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
109 
110 
111 protected:
112 
120  virtual void doinit();
122 
123 private:
124 
128  string theGroup;
129 
133  set<long> theIds;
134 
135 private:
136 
141  MatchboxFactoryMatcher & operator=(const MatchboxFactoryMatcher &) = delete;
142 
143 };
144 
145 }
146 
147 #endif /* Herwig_MatchboxFactoryMatcher_H */
ThePEG::Ptr< MatcherBase >::pointer PMPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
string theGroup
The particle group to be matched.
set< long > theIds
The set of particle ids to be matched.
-*- C++ -*-
MatchboxFactoryMatcher matches particles according to MatchboxFatory particle groups.