herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
TreePhasespaceChannels.h
1 // -*- C++ -*-
2 //
3 // TreePhasespaceChannels.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_TreePhasespaceChannels_H
10 #define Herwig_TreePhasespaceChannels_H
11 //
12 // This is the declaration of the TreePhasespaceChannels class.
13 //
14 
15 #include "ThePEG/Handlers/HandlerBase.h"
16 #include "Herwig/MatrixElement/Matchbox/Phasespace/PhasespaceHelpers.h"
17 
18 namespace Herwig {
19 
20 using namespace ThePEG;
21 
33 
34 public:
35 
42 
46  virtual ~TreePhasespaceChannels();
48 
49 public:
50 
54  map<tStdXCombPtr,map<Ptr<Tree2toNDiagram>::ptr,pair <PhasespaceHelpers::PhasespaceTree, PhasespaceHelpers::PhasespaceTree> > >&
55  channelMap() { return theChannelMap; }
56 
60  const map<tStdXCombPtr,map<Ptr<Tree2toNDiagram>::ptr,pair <PhasespaceHelpers::PhasespaceTree, PhasespaceHelpers::PhasespaceTree> > >&
61  channelMap() const { return theChannelMap; }
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 private:
112 
116  map<tStdXCombPtr,map<Ptr<Tree2toNDiagram>::ptr,pair<PhasespaceHelpers::PhasespaceTree,PhasespaceHelpers::PhasespaceTree> > > theChannelMap;
117 
122  TreePhasespaceChannels & operator=(const TreePhasespaceChannels &) = delete;
123 
124 };
125 
126 }
127 
128 #endif /* Herwig_TreePhasespaceChannels_H */
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
map< tStdXCombPtr, map< Ptr< Tree2toNDiagram >::ptr, pair< PhasespaceHelpers::PhasespaceTree, PhasespaceHelpers::PhasespaceTree > > > theChannelMap
Map xcomb&#39;s to channel vectors indexed by diagram id.
const map< tStdXCombPtr, map< Ptr< Tree2toNDiagram >::ptr, pair< PhasespaceHelpers::PhasespaceTree, PhasespaceHelpers::PhasespaceTree > > > & channelMap() const
Return the channel map.
Store channels for the tree phasespace.
-*- C++ -*-
map< tStdXCombPtr, map< Ptr< Tree2toNDiagram >::ptr, pair< PhasespaceHelpers::PhasespaceTree, PhasespaceHelpers::PhasespaceTree > > > & channelMap()
Access the channel map.