thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
Interface.h
1// -*- C++ -*-
2//
3// Interface.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_Interface_H
10#define THEPEG_Interface_H
11//
12// This is the declaration of the Interface namespace.
13//
14
15namespace ThePEG {
16
21namespace Interface {
22
28enum DepSafe {
29 unsafe = false,
30 safe = true
31};
32
37 readwrite = false,
38 readonly = true
39};
40
45enum Limits {
47 limited = 1,
49 lowerlim = 3
50};
51
57enum Rebind {
58 norebind = true,
59 rebind = false
60};
61
66 nonull = false,
67 nullok = true
68};
69
76 nodefnull = false,
77 defnull = true
78};
79
80
81}
82
83}
84
85#endif /* THEPEG_Interface_H */
DepSafe
Determine whether an interface is dependency safe or not.
Definition: Interface.h:28
@ unsafe
The interface is not dependency safe.
Definition: Interface.h:29
@ safe
The interface is dependency safe.
Definition: Interface.h:30
NullDefault
Determine whether a null reference should be given a default value if suitable object is registered a...
Definition: Interface.h:75
@ defnull
The reference will be set to default if null.
Definition: Interface.h:77
@ nodefnull
The reference will not be set to default if null.
Definition: Interface.h:76
ReadOnly
Determine whether an interface is read-only or not.
Definition: Interface.h:36
@ readonly
The interface is read-only.
Definition: Interface.h:38
@ readwrite
The interface is mutable.
Definition: Interface.h:37
Rebind
Determine whether a the objects referred to by a Reference or a RefVector should be automaticlly rebo...
Definition: Interface.h:57
@ rebind
The reference is automatically rebound.
Definition: Interface.h:59
@ norebind
The reference is not automatically rebound.
Definition: Interface.h:58
Limits
Determine whether a Parameter or ParVector is limited, either upper, lower or both.
Definition: Interface.h:45
@ 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
Nullable
Determine whether a Reference or RefVector object may be null.
Definition: Interface.h:65
@ nullok
The reference may be null.
Definition: Interface.h:67
@ nonull
The reference may not be null.
Definition: Interface.h:66
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28