thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
ParMap.h
1// -*- C++ -*-
2//
3// ParMap.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_ParMap_H
10#define ThePEG_ParMap_H
11// This is the declaration of the ParMap, ParMapTBase and
12// ParMapBase classes.
13
15#include "InterfaceBase.h"
16#include "ParMap.fh"
17#include <limits>
18
19namespace ThePEG {
20
22namespace {
23 template <typename T>
27 inline void putUnitImpl2(ostream & os, T v, T u, DimensionT) {
28 os << v/u;
29 }
30
31 template <typename T>
35 inline void putUnitImpl2(ostream & os, T v, T u, StandardT) {
36 if ( u > T() )
37 os << v/u;
38 else
39 os << v;
40 }
41}
42
64
65public:
66
68 typedef map<long,string> StringMap;
69
70public:
71
98 ParMapBase(string newName, string newDescription,
99 string newClassName,
100 const type_info & newTypeInfo, int newSize,
101 bool depSafe, bool readonly, int limits)
102 : InterfaceBase(newName, newDescription, newClassName,
103 newTypeInfo, depSafe,
104 readonly), limit(limits), theSize(newSize) {
105 hasDefault = false;
106 }
107
111 virtual ~ParMapBase() {}
112
121 virtual string exec(InterfacedBase &, string action,
122 string arguments) const;
123
127 virtual string fullDescription(const InterfacedBase & ib) const;
128
135 virtual void set(InterfacedBase & ib, string val, int i)
136 const = 0;
137
144 virtual void insert(InterfacedBase & ib, string val, int i)
145 const = 0;
146
151 virtual void erase(InterfacedBase & ib, int i)
152 const = 0;
153
157 virtual void clear(InterfacedBase & ib)
158 const = 0;
159
163 virtual StringMap get(const InterfacedBase & ib) const
164 = 0;
165
170 virtual string minimum(const InterfacedBase & ib, int i) const
171 = 0;
172
177 virtual string maximum(const InterfacedBase & ib, int i) const
178 = 0;
179
184 virtual string def(const InterfacedBase & ib, int i) const
185 = 0;
186
190 virtual string def() const = 0;
191
196 virtual void setDef(InterfacedBase & ib, int i) const
197 = 0;
198
202 bool limited() const { return limit != Interface::nolimits; }
203
207 bool upperLimit() const {
209 }
210
214 bool lowerLimit() const {
216 }
217
223
229
234 int size() const { return theSize; }
235
240 void setSize(int sz) { theSize = sz; }
241
246 void setVariableSize() { theSize = 0; }
247
248private:
249
254 int limit;
255
260
261};
262
283template <typename Type>
284class ParMapTBase: public ParMapBase {
285
286public:
287
289 typedef map<long,Type> TypeMap;
290
291public:
292
322 ParMapTBase(string newName, string newDescription,
323 string newClassName, const type_info & newTypeInfo,
324 Type newUnit, int newSize, bool depSafe,
325 bool readonly, int limits)
326 : ParMapBase(newName, newDescription, newClassName,
327 newTypeInfo, newSize,
328 depSafe, readonly, limits), theUnit(newUnit) {}
329
330
334 virtual ~ParMapTBase() {}
335
339 virtual string type() const;
340
345 virtual string doxygenType() const;
346
350 virtual string fullDescription(const InterfacedBase & ib) const;
351
357 virtual void set(InterfacedBase & ib, string val, int i) const
358 ;
359
364 virtual void tset(InterfacedBase & ib, Type val, int i)
365 const = 0;
366
373 virtual void insert(InterfacedBase & ib, string val, int i) const
374 ;
375
376private:
378 void setImpl(InterfacedBase & ib, string val, int i, StandardT)
379 const;
380
382 void setImpl(InterfacedBase & ib, string val, int i, DimensionT)
383 const;
384
386 void insertImpl(InterfacedBase & ib, string val, int i, StandardT)
387 const;
388
390 void insertImpl(InterfacedBase & ib, string val, int i, DimensionT)
391 const;
392
393public:
394
399 virtual void tinsert(InterfacedBase & ib, Type val, int i)
400 const = 0;
401
407 virtual StringMap get(const InterfacedBase & ib) const
408 ;
409
414 virtual TypeMap tget(const InterfacedBase & ib) const
415 = 0;
416
424 virtual string minimum(const InterfacedBase & ib, int i) const
425 ;
426
431 virtual Type tminimum(const InterfacedBase & ib, int i) const
432 = 0;
433
440 virtual string maximum(const InterfacedBase & ib, int i) const
441 ;
442
447 virtual Type tmaximum(const InterfacedBase & ib, int i) const
448 = 0;
449
455 virtual string def(const InterfacedBase & ib, int i) const
456 ;
457
462 virtual Type tdef(const InterfacedBase & ib, int i) const
463 = 0;
464
469 virtual string def() const;
470
474 virtual Type tdef() const = 0;
475
480 virtual void setDef(InterfacedBase & ib, int i) const
481 ;
482
488 Type unit() const { return theUnit; }
489
495 void unit(Type u) { theUnit = u; }
496
497protected:
498
502 void putUnit(ostream & os, Type val) const {
503 putUnitImpl2(os, val, unit(), typename TypeTraits<Type>::DimType());
504 }
505
506private:
507
514
515};
516
537template <typename T, typename Type>
538class ParMap: public ParMapTBase<Type> {
539
540public:
541
546 typedef void (T::*SetFn)(Type, int);
547
552 typedef void (T::*InsFn)(Type, int);
553
558 typedef void (T::*DelFn)(int);
559
563 typedef map<long,Type> TypeMap;
564
569 typedef TypeMap (T::*GetFn)() const;
570
574 typedef map<long,string> StringMap;
575
580 typedef StringMap (T::*StringGetFn)() const;
581
586 typedef Type (T::*DefFn)(int) const;
587
592 typedef TypeMap T::* Member;
593
594public:
595
650 ParMap(string newName, string newDescription,
651 Member newMember, int newSize, Type newDef, Type newMin,
652 Type newMax, bool depSafe = false, bool readonly = false,
653 bool limits = true, SetFn newSetFn = 0,
654 InsFn newInsFn = 0, DelFn newDelFn = 0, GetFn newGetFn = 0,
655 DefFn newDefFn = 0, DefFn newMinFn = 0, DefFn newMaxFn = 0,
656 StringGetFn newStringGetFn = 0)
657 : ParMapTBase<Type>(newName, newDescription, ClassTraits<T>::className(),
658 typeid(T), Type(), newSize, depSafe, readonly,
659 limits),
660 theMember(newMember), theDef(newDef), theMin(newMin), theMax(newMax),
661 theSetFn(newSetFn), theInsFn(newInsFn), theDelFn(newDelFn),
662 theGetFn(newGetFn), theDefFn(newDefFn), theMinFn(newMinFn),
663 theMaxFn(newMaxFn), theStringGetFn(newStringGetFn) {}
664
665
723 ParMap(string newName, string newDescription, Member newMember,
724 Type newUnit, int newSize, Type newDef, Type newMin,
725 Type newMax, bool depSafe = false, bool readonly = false,
726 bool limits = true, SetFn newSetFn = 0,
727 InsFn newInsFn = 0, DelFn newDelFn = 0, GetFn newGetFn = 0,
728 DefFn newDefFn = 0, DefFn newMinFn = 0, DefFn newMaxFn = 0,
729 StringGetFn newStringGetFn = 0)
730 : ParMapTBase<Type>(newName, newDescription, ClassTraits<T>::className(),
731 typeid(T), newUnit, newSize, depSafe, readonly,
732 limits),
733 theMember(newMember), theDef(newDef), theMin(newMin), theMax(newMax),
734 theSetFn(newSetFn), theInsFn(newInsFn), theDelFn(newDelFn),
735 theGetFn(newGetFn), theDefFn(newDefFn), theMinFn(newMinFn),
736 theMaxFn(newMaxFn), theStringGetFn(newStringGetFn) {}
737
793 ParMap(string newName, string newDescription,
794 Member newMember, int newSize, Type newDef, Type newMin,
795 Type newMax, bool depSafe = false, bool readonly = false,
796 int limits = Interface::limited, SetFn newSetFn = 0,
797 InsFn newInsFn = 0, DelFn newDelFn = 0, GetFn newGetFn = 0,
798 DefFn newDefFn = 0, DefFn newMinFn = 0, DefFn newMaxFn = 0,
799 StringGetFn newStringGetFn = 0)
800 : ParMapTBase<Type>(newName, newDescription, ClassTraits<T>::className(),
801 typeid(T), Type(), newSize, depSafe, readonly,
802 limits),
803 theMember(newMember), theDef(newDef), theMin(newMin), theMax(newMax),
804 theSetFn(newSetFn), theInsFn(newInsFn), theDelFn(newDelFn),
805 theGetFn(newGetFn), theDefFn(newDefFn), theMinFn(newMinFn),
806 theMaxFn(newMaxFn), theStringGetFn(newStringGetFn) {}
807
866 ParMap(string newName, string newDescription, Member newMember,
867 Type newUnit, int newSize, Type newDef, Type newMin,
868 Type newMax, bool depSafe = false, bool readonly = false,
869 int limits = Interface::limited, SetFn newSetFn = 0,
870 InsFn newInsFn = 0, DelFn newDelFn = 0, GetFn newGetFn = 0,
871 DefFn newDefFn = 0, DefFn newMinFn = 0, DefFn newMaxFn = 0,
872 StringGetFn newStringGetFn = 0)
873 : ParMapTBase<Type>(newName, newDescription, ClassTraits<T>::className(),
874 typeid(T), newUnit, newSize, depSafe, readonly,
875 limits),
876 theMember(newMember), theDef(newDef), theMin(newMin), theMax(newMax),
877 theSetFn(newSetFn), theInsFn(newInsFn), theDelFn(newDelFn),
878 theGetFn(newGetFn), theDefFn(newDefFn), theMinFn(newMinFn),
879 theMaxFn(newMaxFn), theStringGetFn(newStringGetFn) {}
880
885 virtual void tset(InterfacedBase & ib, Type val, int i) const
886 ;
887
892 virtual void tinsert(InterfacedBase & ib, Type val, int i) const
893 ;
894
899 virtual void erase(InterfacedBase & ib, int i)
900 const;
901
905 virtual void clear(InterfacedBase & ib)
906 const;
907
913 virtual StringMap get(const InterfacedBase & ib) const
914 ;
915
920 virtual TypeMap tget(const InterfacedBase & ib) const
921 ;
922
927 virtual Type tminimum(const InterfacedBase & ib, int i) const
928 ;
929
934 virtual Type tmaximum(const InterfacedBase & ib, int i) const
935 ;
936
941 virtual Type tdef(const InterfacedBase &, int) const
942 ;
943
947 virtual Type tdef() const;
948
952 void setSetFunction(SetFn sf) { theSetFn = sf; }
953
957 void setInsertFunction(InsFn ifn) { theInsFn = ifn; }
958
962 void setGetFunction(GetFn gf) { theGetFn = gf; }
963
967 void setEraseFunction(DelFn df) { theDelFn = df; }
968
973
977 void setMinFunction(GetFn mf) { theMinFn = mf; }
978
982 void setMaxFunction(GetFn mf) { theMaxFn = mf; }
983
988
993 virtual void doxygenDescription(ostream & stream) const;
994
995private:
996
1001
1007
1013
1019
1024
1029
1034
1039
1044
1049
1054
1059
1060};
1061
1062}
1063
1064#ifndef ThePEG_TEMPLATES_IN_CC_FILE
1065#include "ParMap.tcc"
1066#endif
1067
1068#endif /* ThePEG_ParMap_H */
This is the main config header file for ThePEG.
The InterfaceBase class defines a generic interface to any class derived from the InterfacedBase clas...
Definition: InterfaceBase.h:59
string className() const
Return the class name for the class this interface is defined for.
bool hasDefault
A flag indicating whether this interface has a default setting.
InterfacedBase is the base class of all Interfaced objects to be handled by the BaseRepository class.
The ParMap and its base classes ParMapTBase and ParMapBase defines an interface to a class derived fr...
Definition: ParMap.h:63
int limit
True if there are limits associated with the variables.
Definition: ParMap.h:254
ParMapBase(string newName, string newDescription, string newClassName, const type_info &newTypeInfo, int newSize, bool depSafe, bool readonly, int limits)
Standard constructor.
Definition: ParMap.h:98
virtual void clear(InterfacedBase &ib) const =0
Clear the container of pointers of ib.
virtual string maximum(const InterfacedBase &ib, int i) const =0
Return the maximum value allowed for the i'th element of a container of member variables of ib.
virtual ~ParMapBase()
Destructor.
Definition: ParMap.h:111
void setVariableSize()
Set the size of the container being interfaced to -1, i.e.
Definition: ParMap.h:246
int theSize
The size of the container being interfaced.
Definition: ParMap.h:259
virtual StringMap get(const InterfacedBase &ib) const =0
Return the values of a container of member variables of ib.
bool lowerLimit() const
True if there the variable is limited from below.
Definition: ParMap.h:214
virtual void set(InterfacedBase &ib, string val, int i) const =0
Set the i'th element of a container of member variables of ib to val.
map< long, string > StringMap
A map of strings.
Definition: ParMap.h:68
virtual string def(const InterfacedBase &ib, int i) const =0
Return the default value for the i'th element of a container of member variables of ib.
virtual void setDef(InterfacedBase &ib, int i) const =0
Set the i'th element of a container of member variables of ib to its default value.
void setSize(int sz)
Set the size of the container being interfaced.
Definition: ParMap.h:240
bool upperLimit() const
True if there the variable is limited from abovew.
Definition: ParMap.h:207
virtual string fullDescription(const InterfacedBase &ib) const
Return a complete description of this parameter map.
void setLimited()
Set a flag indicating that there are limits associated with the variables.
Definition: ParMap.h:222
void setUnlimited()
Set a flag indicating if there are no limits associated with the variables.
Definition: ParMap.h:228
virtual string minimum(const InterfacedBase &ib, int i) const =0
Return the minimum value allowed for the i'th element of a container of member variables of ib.
int size() const
Get the size of the container being interfaced.
Definition: ParMap.h:234
virtual void insert(InterfacedBase &ib, string val, int i) const =0
Insert a new object before the i'th element of a container of member variables of ib and set it to va...
virtual string exec(InterfacedBase &, string action, string arguments) const
The general interface method overriding the one in InterfaceBase.
bool limited() const
True if there the variable is limited from above and below.
Definition: ParMap.h:202
virtual void erase(InterfacedBase &ib, int i) const =0
Remove the i'th element of a container of member variables of ib.
virtual string def() const =0
Return the general default value for this parameter map.
The ParMap and its base classes ParMapTBase and ParMapBase defines an interface to a class derived fr...
Definition: ParMap.h:284
void setImpl(InterfacedBase &ib, string val, int i, DimensionT) const
Implementation of set() for dimensioned types.
virtual string type() const
Return a code for the type of this parameter.
virtual Type tmaximum(const InterfacedBase &ib, int i) const =0
Return the maximum value allowed for the i'th element of a container of member variables of ib.
void unit(Type u)
Set the unit which an Type object is divided (multiplied) by when written to (read from) a stream via...
Definition: ParMap.h:495
virtual void setDef(InterfacedBase &ib, int i) const
set the i'th element of a container of member variables of ib to its default value.
virtual string doxygenType() const
Return a string describing the type of interface to be included in the Doxygen documentation.
Type unit() const
Get the unit which an Type object is divided (multiplied) by when written to (read from) a stream via...
Definition: ParMap.h:488
Type theUnit
The unit which an Type object is divided (multiplied) by when written to (read from) a stream via a d...
Definition: ParMap.h:513
virtual ~ParMapTBase()
Destructor.
Definition: ParMap.h:334
void insertImpl(InterfacedBase &ib, string val, int i, DimensionT) const
Implementation of insert() for dimensioned types.
virtual string minimum(const InterfacedBase &ib, int i) const
Return the minimum value allowed for the i'th element of a container of member variables of ib.
virtual string maximum(const InterfacedBase &ib, int i) const
Return the maximum value allowed for the i'th element of a container of member variables of ib.
virtual TypeMap tget(const InterfacedBase &ib) const =0
Return the values of a container of member variables of ib in a map of Type.
virtual string def(const InterfacedBase &ib, int i) const
Return the default value for the i'th element of a container of member variables of ib.
virtual string def() const
Return the general default value for this parameter map.
virtual Type tminimum(const InterfacedBase &ib, int i) const =0
Return the minimum value allowed for the i'th element of a container of member variables of ib.
void insertImpl(InterfacedBase &ib, string val, int i, StandardT) const
Implementation of insert() for standard types.
void setImpl(InterfacedBase &ib, string val, int i, StandardT) const
Implementation of set() for standard types.
void putUnit(ostream &os, Type val) const
Write a numer to a stream with the unit specified with unit().
Definition: ParMap.h:502
virtual void set(InterfacedBase &ib, string val, int i) const
Set the i'th element of a container of member variables of ib to val.
virtual void tset(InterfacedBase &ib, Type val, int i) const =0
Set the i'th element of a container of member variables of ib to val.
ParMapTBase(string newName, string newDescription, string newClassName, const type_info &newTypeInfo, Type newUnit, int newSize, bool depSafe, bool readonly, int limits)
Standard constructor.
Definition: ParMap.h:322
virtual Type tdef() const =0
Return the general default value for this parameter map.
virtual void insert(InterfacedBase &ib, string val, int i) const
Insert a new object before the i'th element of a container of member variables of ib and set it to va...
virtual StringMap get(const InterfacedBase &ib) const
Return the values of a container of member variables of ib in a map of strings.
virtual string fullDescription(const InterfacedBase &ib) const
Return a complete description of this parameter map.
virtual void tinsert(InterfacedBase &ib, Type val, int i) const =0
Insert a new object before the i'th element of a container of member variables of ib and set it to va...
map< long, Type > TypeMap
A map of objects of the template argument type.
Definition: ParMap.h:289
virtual Type tdef(const InterfacedBase &ib, int i) const =0
Return the default value for the i'th element of a container of member variables of ib.
The ParMap and its base classes ParMapTBase and ParMapBase defines an interface to a class derived fr...
Definition: ParMap.h:538
void setEraseFunction(DelFn df)
Give a pointer to a member function to be used by terase().
Definition: ParMap.h:967
TypeMap T::* Member
Declaration of a direct pointer to the member variable in case it is a map.
Definition: ParMap.h:592
map< long, Type > TypeMap
A map of objects of the template parameter Type.
Definition: ParMap.h:563
ParMap(string newName, string newDescription, Member newMember, int newSize, Type newDef, Type newMin, Type newMax, bool depSafe=false, bool readonly=false, int limits=Interface::limited, SetFn newSetFn=0, InsFn newInsFn=0, DelFn newDelFn=0, GetFn newGetFn=0, DefFn newDefFn=0, DefFn newMinFn=0, DefFn newMaxFn=0, StringGetFn newStringGetFn=0)
Standard constructor.
Definition: ParMap.h:793
Type theMax
Maximum value to be used if no corresponding member function pointer is given.
Definition: ParMap.h:1018
void(T::* DelFn)(int)
The declaration of member functions which can be used by this ParMap interface for 'erase' actions.
Definition: ParMap.h:558
ParMap(string newName, string newDescription, Member newMember, Type newUnit, int newSize, Type newDef, Type newMin, Type newMax, bool depSafe=false, bool readonly=false, bool limits=true, SetFn newSetFn=0, InsFn newInsFn=0, DelFn newDelFn=0, GetFn newGetFn=0, DefFn newDefFn=0, DefFn newMinFn=0, DefFn newMaxFn=0, StringGetFn newStringGetFn=0)
Standard constructor.
Definition: ParMap.h:723
void setInsertFunction(InsFn ifn)
Give a pointer to a member function to be used by tinsert().
Definition: ParMap.h:957
InsFn theInsFn
A pointer to a member function to be used by tinsert().
Definition: ParMap.h:1028
StringMap(T::* StringGetFn)() const
The declaration of member functions which can be used by this ParMap interface for 'get' actions.
Definition: ParMap.h:580
virtual Type tmaximum(const InterfacedBase &ib, int i) const
Return the maximum value allowed for the i'th element of a container of member variables of ib.
DefFn theMinFn
Pointer to member function to be used by tminimum().
Definition: ParMap.h:1048
virtual void clear(InterfacedBase &ib) const
Clear the container of pointers of ib.
void setGetFunction(GetFn gf)
Give a pointer to a member function to be used by tget().
Definition: ParMap.h:962
void(T::* InsFn)(Type, int)
The declaration of member functions which can be used by this ParMap interface for 'insert' actions.
Definition: ParMap.h:552
DefFn theDefFn
Pointer to member function to be used by tdef().
Definition: ParMap.h:1043
Member theMember
The pointer to the member variable.
Definition: ParMap.h:1000
void setStringGetFunction(StringGetFn gf)
Give a pointer to a member function to be used by get().
Definition: ParMap.h:987
SetFn theSetFn
A pointer to a member function to be used by tset().
Definition: ParMap.h:1023
void(T::* SetFn)(Type, int)
The declaration of member functions which can be used by this ParMap interface for 'set' actions.
Definition: ParMap.h:546
virtual void doxygenDescription(ostream &stream) const
Print a description to be included in the Doxygen documentation to the given stream.
map< long, string > StringMap
A map of strings.
Definition: ParMap.h:574
void setMinFunction(GetFn mf)
Give a pointer to a member function to be used by tminimum().
Definition: ParMap.h:977
virtual void tinsert(InterfacedBase &ib, Type val, int i) const
Insert a new object before the i'th element of a container of member variables of ib and set it to va...
GetFn theGetFn
A pointer to a member function to be used by tget().
Definition: ParMap.h:1038
virtual TypeMap tget(const InterfacedBase &ib) const
Return the values of a container of member variables of ib in a map of Type.
Type theMin
Minimum value to be used if no corresponding member function pointer is given.
Definition: ParMap.h:1012
ParMap(string newName, string newDescription, Member newMember, int newSize, Type newDef, Type newMin, Type newMax, bool depSafe=false, bool readonly=false, bool limits=true, SetFn newSetFn=0, InsFn newInsFn=0, DelFn newDelFn=0, GetFn newGetFn=0, DefFn newDefFn=0, DefFn newMinFn=0, DefFn newMaxFn=0, StringGetFn newStringGetFn=0)
Standard constructor.
Definition: ParMap.h:650
DelFn theDelFn
A pointer to a member function to be used by terase().
Definition: ParMap.h:1033
ParMap(string newName, string newDescription, Member newMember, Type newUnit, int newSize, Type newDef, Type newMin, Type newMax, bool depSafe=false, bool readonly=false, int limits=Interface::limited, SetFn newSetFn=0, InsFn newInsFn=0, DelFn newDelFn=0, GetFn newGetFn=0, DefFn newDefFn=0, DefFn newMinFn=0, DefFn newMaxFn=0, StringGetFn newStringGetFn=0)
Standard constructor.
Definition: ParMap.h:866
void setMaxFunction(GetFn mf)
Give a pointer to a member function to be used by tmaximum().
Definition: ParMap.h:982
StringGetFn theStringGetFn
A pointer to a member function to be used by set().
Definition: ParMap.h:1058
void setSetFunction(SetFn sf)
Give a pointer to a member function to be used by tset().
Definition: ParMap.h:952
virtual void erase(InterfacedBase &ib, int i) const
Remove the i'th element of a container of member variables of ib.
DefFn theMaxFn
Pointer to member function to be used by tmaximum().
Definition: ParMap.h:1053
virtual Type tdef(const InterfacedBase &, int) const
Return the default value for the i'th element of a container of member variables of ib.
Type(T::* DefFn)(int) const
The declaration of member functions which can be used by this ParMap interface for 'erase' actions.
Definition: ParMap.h:586
virtual void tset(InterfacedBase &ib, Type val, int i) const
Set the i'th element of a container of member variables of ib to val.
virtual StringMap get(const InterfacedBase &ib) const
Return the values of a container of member variables of ib in a map of strings.
virtual Type tdef() const
Return the general default value for this parameter map.
virtual Type tminimum(const InterfacedBase &ib, int i) const
Return the minimum value allowed for the i'th element of a container of member variables of ib.
void setDefaultFunction(GetFn df)
Give a pointer to a member function to be used by tdef().
Definition: ParMap.h:972
TypeMap(T::* GetFn)() const
The declaration of member functions which can be used by this ParMap interface for 'get' actions.
Definition: ParMap.h:569
Type theDef
Default value to be used if no corresponding member function pointer is given.
Definition: ParMap.h:1006
@ upperlim
The parameter has only an upper limit.
Definition: Interface.h:48
@ nolimits
The parameter is not limited.
Definition: Interface.h:46
@ lowerlim
The parameter has only an lower limit.
Definition: Interface.h:49
@ limited
The parameter is limited (both up- and downwards.
Definition: Interface.h:47
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
Int2Type< Dimensioned > DimensionT
Typedef for dimensioned types.
Definition: TemplateTools.h:37
Int2Type< Standard > StandardT
Typedef for non-dimensioned types.
Definition: TemplateTools.h:40
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
Conversion between integers and types.
Definition: TemplateTools.h:24