thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
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
16namespace ThePEG {
17
26class ThePEGStrategy: public Strategy {
27
28public:
29
33 static void Init();
34
38 virtual const std::string versionstring() const;
39
40protected:
41
48 virtual IBPtr clone() const;
49
54 virtual IBPtr fullclone() const;
56
57private:
58
63
68
69};
70
71
76template <>
79 typedef Strategy NthBase;
80};
81
85template <>
86struct 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 */
A concreate implementation of ClassDescriptionBase describing a concrete class without persistent dat...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
The Strategy class represents a general strategy to be assigned to an EventGenerator.
Definition: Strategy.h:41
The ThePEGStrategy class is a sub-class of the Strategy class, simply implementing the correct citati...
static NoPIOClassDescription< ThePEGStrategy > initThePEGStrategy
Describe concrete class without persistent data.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual const std::string versionstring() const
Version string.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEGStrategy & operator=(const ThePEGStrategy &)=delete
Private and non-existent assignment operator.
static void Init()
Standard Init function used to initialize the interface.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
static string className()
Return the name of class T.
Definition: ClassTraits.h:66
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition: ClassTraits.h:85
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30