| The Gaudi Framework v32r1 (f65d50dc)

Public Member Functions | Public Attributes | Private Member Functions | List of all members
GaudiKernel.Configurable.CreateSequencesVisitor Class Reference
Inheritance diagram for GaudiKernel.Configurable.CreateSequencesVisitor:
[legend]
Collaboration diagram for GaudiKernel.Configurable.CreateSequencesVisitor:
[legend]

## Public Member Functions
def | __init__ (self)
def | sequence (self)
def | enter (self, visitee)
def | leave (self, visitee)

## Public Attributes
| stack

## Private Member Functions
def | _getUniqueName (self, prefix)
def | _newSeq (self, prefix='seq_', **kwargs)

## Detailed Description

Definition at line 1686 of file Configurable.py.

## Constructor & Destructor Documentation

## ◆ __init__()

def GaudiKernel.Configurable.CreateSequencesVisitor.__init__ | ( |  | self | ) |

Definition at line 1687 of file Configurable.py.

1687 def __init__(self):
1688 self.stack = []
1689

## Member Function Documentation

## ◆ _getUniqueName()

def GaudiKernel.Configurable.CreateSequencesVisitor._getUniqueName | ( |  | self,
|  |  | prefix
| ) |  |
| private

Definition at line 1697 of file Configurable.py.

1697 def _getUniqueName(self, prefix):
1698 from Gaudi.Configuration import allConfigurables
1699 cnt = 0
1700 name = prefix + str(cnt)
1701 while name in allConfigurables:
1702 cnt += 1
1703 name = prefix + str(cnt)
1704 return name
1705
Gaudi.Configuration
Definition: Configuration.py:1

## ◆ _newSeq()

def GaudiKernel.Configurable.CreateSequencesVisitor._newSeq | ( |  | self,
|  |  | prefix = `'seq_'`,
|  | ** | kwargs
| ) |  |
| private

Definition at line 1706 of file Configurable.py.

1706 def _newSeq(self, prefix='seq_', **kwargs):
1707 from Configurables import GaudiSequencer
1708 return GaudiSequencer(self._getUniqueName('seq_'), **kwargs)
1709
GaudiSequencer
Sequencer for executing several algorithms, stopping when one is faulty.
Definition: GaudiSequencer.h:28

## ◆ enter()

def GaudiKernel.Configurable.CreateSequencesVisitor.enter | ( |  | self,
|  |  | visitee
| ) |  |

Definition at line 1694 of file Configurable.py.

1694 def enter(self, visitee):
1695 pass
1696

## ◆ leave()

def GaudiKernel.Configurable.CreateSequencesVisitor.leave | ( |  | self,
|  |  | visitee
| ) |  |

Definition at line 1710 of file Configurable.py.

1710 def leave(self, visitee):
1711 stack = self.stack
1712 if visitee in (CFTrue, CFFalse):
1713 stack.append(self._newSeq(Invert=visitee is CFFalse))
1714 elif isinstance(visitee, (ControlFlowLeaf, ConfigurableAlgorithm)):
1715 stack.append(visitee)
1716 elif isinstance(visitee, (OrNode, AndNode, OrderedNode)):
1717 b = stack.pop()
1718 a = stack.pop()
1719 seq = self._newSeq(
1720 Members=[a, b],
1721 ModeOR=isinstance(visitee, OrNode),
1722 ShortCircuit=not isinstance(visitee, OrderedNode),
1723 MeasureTime=True)
1724 stack.append(seq)
1725 elif isinstance(visitee, ignore):
1726 if hasattr(stack[-1], 'IgnoreFilterPassed'):
1727 stack[-1].IgnoreFilterPassed = True
1728 else:
1729 stack.append(
1730 self._newSeq(
1731 Members=[stack.pop()], IgnoreFilterPassed=True))
1732 elif isinstance(visitee, InvertNode):
1733 if hasattr(stack[-1], 'Invert'):
1734 stack[-1].Invert = True
1735 else:
1736 stack.append(self._newSeq(Members=[stack.pop()], Invert=True))
1737
1738

## ◆ sequence()

def GaudiKernel.Configurable.CreateSequencesVisitor.sequence | ( |  | self | ) |

Definition at line 1691 of file Configurable.py.

1691 def sequence(self):
1692 return self.stack[-1]
1693
ManySmallAlgs.sequence
bool sequence
Definition: ManySmallAlgs.py:24

## Member Data Documentation

## ◆ stack

GaudiKernel.Configurable.CreateSequencesVisitor.stack

Definition at line 1688 of file Configurable.py.

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

- GaudiKernel/python/GaudiKernel/Configurable.py