thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
ThePEGStrategy.h
1 // -*- C++ -*-
2 //
3 // ThePEGStrategy.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2019 Leif Lonnblad
5 //
6 // ThePEG 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 ThePEG_ThePEGStrategy_H
10 #define ThePEG_ThePEGStrategy_H
11 // This is the declaration of the ThePEGStrategy class.
12 
13 #include "ThePEG/Repository/Strategy.h"
14 #include <string>
15 
16 namespace ThePEG {
17 
26 class ThePEGStrategy: public Strategy {
27 
28 public:
29 
33  static void Init();
34 
38  virtual const std::string versionstring() const;
39 
40 protected:
41 
48  virtual IBPtr clone() const;
49 
54  virtual IBPtr fullclone() const;
56 
57 private:
58 
63 
67  ThePEGStrategy & operator=(const ThePEGStrategy &) = delete;
68 
69 };
70 
71 
76 template <>
79  typedef Strategy NthBase;
80 };
81 
85 template <>
86 struct ClassTraits<ThePEGStrategy>: public ClassTraitsBase<ThePEGStrategy> {
88  static string className() { return "ThePEG::ThePEGStrategy"; }
92  static string library() { return "ThePEGStrategy.so"; }
93 };
94 
97 }
98 
99 #endif /* ThePEG_ThePEGStrategy_H */
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
The Strategy class represents a general strategy to be assigned to an EventGenerator.
Definition: Strategy.h:41
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
A concreate implementation of ClassDescriptionBase describing a concrete class without persistent dat...
ThePEGStrategy & operator=(const ThePEGStrategy &)=delete
Private and non-existent assignment operator.
static void Init()
Standard Init function used to initialize the interface.
virtual IBPtr clone() const
Make a simple clone of this object.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
static NoPIOClassDescription< ThePEGStrategy > initThePEGStrategy
Describe concrete class without persistent data.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
The ThePEGStrategy class is a sub-class of the Strategy class, simply implementing the correct citati...
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52
virtual const std::string versionstring() const
Version string.