Hermes DRS  6.0
reduction software
 All Classes Namespaces Functions Variables Pages
Public Member Functions | Public Attributes | List of all members
hermes.pipeline.core.chain.Chain Class Reference

Threaded class to run components with possibility to stop the chain. More...

Inheritance diagram for hermes.pipeline.core.chain.Chain:

Public Member Functions

def __init__
 
def loadComponentList
 
def stop
 
def run
 
def insertComponent
 
def moveComponent
 
def deleteComponent
 
def loadDOMTree
 

Public Attributes

 logger
 
 stopIsRequested
 
 chainName
 
 componentList
 
 description
 
 instrumentModel
 

Detailed Description

Threaded class to run components with possibility to stop the chain.

PURPOSE:

EXAMPLE:

Constructor & Destructor Documentation

def hermes.pipeline.core.chain.Chain.__init__ (   self,
  chainName,
  loggerName,
  instrumentModel 
)
PURPOSE:

INPUT: chainName:

       loggerName:

       instrumentModel:

Member Function Documentation

def hermes.pipeline.core.chain.Chain.deleteComponent (   self,
  positionIndex 
)
PURPOSE: Remove the component at the given position from the component list

INPUT: positionIndex: location index of component to be deleted
def hermes.pipeline.core.chain.Chain.insertComponent (   self,
  positionIndex,
  componentName,
  moduleName,
  modulePath 
)
PURPOSE: add a pipeline component to this chain, at the given position

INPUT: . positionIndex: integer: index of the position where the component has
                to be inserted. Value should be between 0 and len(list)
                inclusive. 0 means insert at the front of the list.
                len(list) means insert at the end of the list.
       . componentName: string: name of the pipeline component class
       . moduleName: string: filename of the module
       . modulePath: string: (directory) path of the module,
             including superpackages.

OUTPUT: none
def hermes.pipeline.core.chain.Chain.loadComponentList (   self,
  componentList 
)
PURPOSE:

Options of the components are assumed to be set beforehand
def hermes.pipeline.core.chain.Chain.loadDOMTree (   self,
  xmlFileName 
)
PURPOSE: DOM tree: element with name "Chain"

INPUT: xmlFileName: string containing the XML file name, including the path
def hermes.pipeline.core.chain.Chain.moveComponent (   self,
  beginIndex,
  endIndex 
)
PURPOSE: copy an existing component from one position in the list to another,
 then delete the original.

INPUT: . beginIndex: old position index of the component to be moved.
             index is with respect to the old list

       . endIndex: new position index of the component to be moved.
           index is also with respect to the old unchanged list,
           i.e. before the original is deleted

EXAMPLE: Given the current list of components: [C1, C2, C3, C4]
 moveComponent(0,4) gives [C2, C3, C4, C1]
 moveComponent(2,1) gives [C1, C3, C2, C4]
 moveComponent(1,2) gives [C1, C2, C3, C4]  (!)
 moveComponent(1,3) gives [C1, C3, C2, C4]
def hermes.pipeline.core.chain.Chain.run (   self)
PURPOSE:
def hermes.pipeline.core.chain.Chain.stop (   self)
PURPOSE:

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