Belle II Software  release-05-02-19
CalculationProcess Class Reference
Inheritance diagram for CalculationProcess:
Collaboration diagram for CalculationProcess:

Public Member Functions

def __init__ (self, result_queue, log_file_name, parameters)
 
def save_log (self)
 
def get_log (self)
 
def get (self, name)
 
def get_keys (self)
 
def start_process (self)
 
def prepare (self)
 

Public Attributes

 already_run
 True if already started/run.
 
 log_file_name
 Name of the log file to use.
 
 log_file_content
 Saved log file content after the run.
 
 result_queue
 Result queue as a reference.
 
 parameters
 Parameters in process_parameter_space.
 
 progress_queue_remote
 Create the queue for the progress python module.
 
 is_valid
 Set to false, if you do not want this process to show up in the process bar calculations.
 

Detailed Description

Abstract base class for doing the real processing of a calculation. Is used by the handler to
process the calculation you requested. Overload the start_process and prepare method to implement your calculation
and maybe also the __init__ method if you need to store more information on your process (like what to calculate).

See ipython_handler_basf2/calculation_process.py for an example implementation.

Definition at line 5 of file calculation_process.py.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
  result_queue,
  log_file_name,
  parameters 
)
Create a new calculation process instance. The parameters here are the absolute standard. You probably have to redefine the
constructor in your own class.

Definition at line 14 of file calculation_process.py.

14  def __init__(self, result_queue, log_file_name, parameters):
15  """
16  Create a new calculation process instance. The parameters here are the absolute standard. You probably have to redefine the
17  constructor in your own class.
18  """
19  if result_queue is None:
20  raise ValueError("Invalid result_queue")
21 
22 
23  self.already_run = False
24 
25 
26  self.log_file_name = log_file_name
27 
28 
29  self.log_file_content = None
30 
31 
32  self.result_queue = result_queue
33 
34 
35  self.parameters = parameters
36 
37 
38  self.progress_queue_local, self.progress_queue_remote = Pipe()
39 
40 
41  self.is_valid = True
42 
43  # Prepare the environment.
44  self.prepare()
45 
46  # Call the constructor of the base class.
47  Process.__init__(self, target=self.start_process)
48 

Member Function Documentation

◆ get()

def get (   self,
  name 
)
Return an item from the result queue. Only gives a result if the calculation has finished.
Use the Calculation for a better handling.

Definition at line 69 of file calculation_process.py.

◆ get_keys()

def get_keys (   self)
Return the names of all item from the result queue. Only gives a result if the calculation has finished.
Use the Calculation for a better handling.

Definition at line 77 of file calculation_process.py.

◆ get_log()

def get_log (   self)
Return the log file content.
Use the methods of the Calculation for a better handling.

Definition at line 58 of file calculation_process.py.

◆ prepare()

def prepare (   self)
Overload this function if you need to process some preparations
before doing the real calculation.

Reimplemented in Basf2CalculationProcess.

Definition at line 94 of file calculation_process.py.

◆ save_log()

def save_log (   self)
Delete the log file and copy its content to the class.

Definition at line 49 of file calculation_process.py.

◆ start_process()

def start_process (   self)
The function given to the process to start the calculation.
Do not call by yourself.
Resets the logging system, logs onto console and a file and sets the queues
(the result queue and the process queue) correctly.

Reimplemented in Basf2CalculationProcess.

Definition at line 85 of file calculation_process.py.


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