Belle II Software prerelease-10-00-00a
IfModule Class Reference
Inheritance diagram for IfModule:
Collaboration diagram for IfModule:

Public Member Functions

 __init__ (self, module, condition=None)
 
 condition (self)
 
 event (self)
 
 wrapper_name (self)
 
 param (self)
 
 available_params (self)
 
 compose_wrapped_module_name (self, module)
 
 get_name (self)
 
 initialize (self)
 
 beginRun (self)
 
 endRun (self)
 
 terminate (self)
 

Public Attributes

 condition = condition
 Condition function called at each event to determine if wrapped module should be executed.
 
 module = module
 The wrapped module.
 

Detailed Description

Wrapper module to conditionally execute module and continue with the normal path afterwards.

There are two ways to specify the condition.
One way is to override the condition(self) method in a subclass.
The second way is to give a function as the second argument to the module constructor,
which is called each event.

Attributes:
  module (basf2.Module): The module executed, if the condition is met.

  condition (function() -> bool, optional): Function executed at each event to determine,
    if the given module shall be executed.
    If None call the condition method instead, which can be overridden by subclasses.

Definition at line 165 of file metamodules.py.

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
module,
condition = None )
Initialisation method taking the module instance to be wrapped.

Args:
  module (basf2.Module): The module executed, if the condition is met.
  condition  (function() -> bool, optional): Function executed at each event to determine,
    if the given module shall be executed.
    If None call the condition method instead, which can be overridden by subclasses.

Definition at line 183 of file metamodules.py.

183 def __init__(self, module, condition=None):
184 """Initialisation method taking the module instance to be wrapped.
185
186 Args:
187 module (basf2.Module): The module executed, if the condition is met.
188 condition (function() -> bool, optional): Function executed at each event to determine,
189 if the given module shall be executed.
190 If None call the condition method instead, which can be overridden by subclasses.
191 """
192
193 super().__init__(module)
194 if condition is not None:
195
197 self.condition = condition
198

Member Function Documentation

◆ available_params()

available_params ( self)
inherited
Forwards the available parameters

Definition at line 78 of file metamodules.py.

78 def available_params(self):
79 """Forwards the available parameters"""
80 return self.module.available_params
81

◆ beginRun()

beginRun ( self)
inherited
Begin run method of the module

Definition at line 94 of file metamodules.py.

94 def beginRun(self):
95 """Begin run method of the module"""
96 self.module.beginRun()
97

◆ compose_wrapped_module_name()

compose_wrapped_module_name ( self,
module )
inherited
Compose a name that indicates the wrapped module.

Definition at line 82 of file metamodules.py.

82 def compose_wrapped_module_name(self, module):
83 """Compose a name that indicates the wrapped module."""
84 return f"{self.wrapper_name}({module.name()})"
85

◆ condition()

condition ( self)
Condition method called if not given a condition function during construction.

Can be overridden by a concrete subclass to specify
under which condition the wrapped module should be executed.
It can also be shadowed by a condition function given to the constructor of this module.

Returns:
  bool: The indication if the wrapped module should be executed.
    Always True in the base implementation

Reimplemented in IfStoreArrayNotPresentModule, and IfStoreArrayPresentModule.

Definition at line 199 of file metamodules.py.

199 def condition(self):
200 """Condition method called if not given a condition function during construction.
201
202 Can be overridden by a concrete subclass to specify
203 under which condition the wrapped module should be executed.
204 It can also be shadowed by a condition function given to the constructor of this module.
205
206 Returns:
207 bool: The indication if the wrapped module should be executed.
208 Always True in the base implementation
209 """
210 return True
211

◆ endRun()

endRun ( self)
inherited
End run method of the module

Definition at line 102 of file metamodules.py.

102 def endRun(self):
103 """End run method of the module"""
104 self.module.endRun()
105

◆ event()

event ( self)
Event method of the module

Evaluates the condition and sets the return value of this module
to trigger the execution of the wrapped module.

Reimplemented from WrapperModule.

Definition at line 212 of file metamodules.py.

212 def event(self):
213 """Event method of the module
214
215 Evaluates the condition and sets the return value of this module
216 to trigger the execution of the wrapped module.
217 """
218
219 if self.condition():
220 super().event()
221
222

◆ get_name()

get_name ( self)
inherited
Forwards the name().

Definition at line 86 of file metamodules.py.

86 def get_name(self):
87 """Forwards the name()."""
88 return self.name()
89

◆ initialize()

initialize ( self)
inherited
Initialize method of the module

Reimplemented in IfStoreArrayPresentModule, and PyProfilingModule.

Definition at line 90 of file metamodules.py.

90 def initialize(self):
91 """Initialize method of the module"""
92 self.module.initialize()
93

◆ param()

param ( self)
inherited
Forwards the parameters

Definition at line 73 of file metamodules.py.

73 def param(self):
74 """Forwards the parameters"""
75 return self.module.param
76

◆ terminate()

terminate ( self)
inherited
Terminate method of the module

Reimplemented in PyProfilingModule.

Definition at line 106 of file metamodules.py.

106 def terminate(self):
107 """Terminate method of the module"""
108 self.module.terminate()
109
110

◆ wrapper_name()

wrapper_name ( self)
inherited
Name of the wrapper class.

Definition at line 68 of file metamodules.py.

68 def wrapper_name(self):
69 """Name of the wrapper class."""
70 return self.__class__.__name__
71

Member Data Documentation

◆ condition

condition = condition

Condition function called at each event to determine if wrapped module should be executed.

Reimplemented in IfStoreArrayNotPresentModule, and IfStoreArrayPresentModule.

Definition at line 197 of file metamodules.py.

◆ module

module = module
inherited

The wrapped module.

Definition at line 53 of file metamodules.py.


The documentation for this class was generated from the following file: