Belle II Software  release-08-01-10
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. More...
 
 log_file_name
 Name of the log file to use.
 
 log_file_content
 Saved log file content after the run. More...
 
 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 12 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 21 of file calculation_process.py.

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

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 76 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 84 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 65 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 100 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 56 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 92 of file calculation_process.py.

Member Data Documentation

◆ already_run

already_run

True if already started/run.

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 30 of file calculation_process.py.

◆ log_file_content

log_file_content

Saved log file content after the run.

Delete the log file and copy its content to the class.

Definition at line 36 of file calculation_process.py.


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