|
|
|||
File indexing completed on 2026-08-06 09:38:26
0001 // -*- C++ -*- 0002 // 0003 // Interface.h is a part of ThePEG - Toolkit for HEP Event Generation 0004 // Copyright (C) 1999-2019 Leif Lonnblad 0005 // 0006 // ThePEG is licenced under version 3 of the GPL, see COPYING for details. 0007 // Please respect the MCnet academic guidelines, see GUIDELINES for details. 0008 // 0009 #ifndef THEPEG_Interface_H 0010 #define THEPEG_Interface_H 0011 // 0012 // This is the declaration of the Interface namespace. 0013 // 0014 0015 namespace ThePEG { 0016 0017 /** 0018 * The Interface namespace declares a number of enums to set options 0019 * for subclasses of InteracedBase. 0020 */ 0021 namespace Interface { 0022 0023 /** 0024 * Determine whether an interface is dependency safe or 0025 * not. Dependency safe means that other objects do not depend on the 0026 * variable being interfaced. 0027 */ 0028 enum DepSafe { 0029 unsafe = false, /**< The interface is not dependency safe. */ 0030 safe = true /**< The interface is dependency safe. */ 0031 }; 0032 0033 /** 0034 * Determine whether an interface is read-only or not. 0035 */ 0036 enum ReadOnly { 0037 readwrite = false, /**< The interface is mutable. */ 0038 readonly = true /**< The interface is read-only. */ 0039 }; 0040 0041 /** 0042 * Determine whether a Parameter or ParVector is limited, either 0043 * upper, lower or both. 0044 */ 0045 enum Limits { 0046 nolimits = 0, /**< The parameter is not limited. */ 0047 limited = 1, /**< The parameter is limited (both up- and downwards. */ 0048 upperlim = 2, /**< The parameter has only an upper limit. */ 0049 lowerlim = 3 /**< The parameter has only an lower limit. */ 0050 }; 0051 0052 /** 0053 * Determine whether a the objects referred to by a Reference or a 0054 * RefVector should be automaticlly rebound (i.e. do not need to be 0055 * explicitly rebound in the rebind() function). 0056 */ 0057 enum Rebind { 0058 norebind = true, /**< The reference is not automatically rebound. */ 0059 rebind = false /**< The reference is automatically rebound. */ 0060 }; 0061 0062 /** 0063 * Determine whether a Reference or RefVector object may be null. 0064 */ 0065 enum Nullable { 0066 nonull = false, /**< The reference may not be null. */ 0067 nullok = true /**< The reference may be null. */ 0068 }; 0069 0070 /** 0071 * Determine whether a null reference should be given a default value 0072 * if suitable object is registered as default in the Strategy object 0073 * of a run. 0074 */ 0075 enum NullDefault { 0076 nodefnull = false, /**< The reference will not be set to default if null. */ 0077 defnull = true /**< The reference will be set to default if null. */ 0078 }; 0079 0080 0081 } 0082 0083 } 0084 0085 #endif /* THEPEG_Interface_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|