CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
Config.ModifierChain Class Reference
Inheritance diagram for Config.ModifierChain:

Public Member Functions

def __init__ (self, chainedModifiers)
 
def copyAndExclude (self, toExclude)
 

Private Member Functions

def __copyIfExclude (self, toExclude)
 
def _applyNewProcessModifiers (self, process)
 
def _isChosen (self)
 
def _isOrContains (self, other)
 
def _setChosen (self)
 

Private Attributes

 __chain
 
 __chosen
 

Detailed Description

A Modifier made up of a list of Modifiers

Definition at line 1669 of file Config.py.

Constructor & Destructor Documentation

def Config.ModifierChain.__init__ (   self,
  chainedModifiers 
)

Definition at line 1672 of file Config.py.

1672  def __init__(self, *chainedModifiers):
1673  self.__chosen = False
1674  self.__chain = chainedModifiers
def __init__(self, chainedModifiers)
Definition: Config.py:1672

Member Function Documentation

def Config.ModifierChain.__copyIfExclude (   self,
  toExclude 
)
private

Definition at line 1701 of file Config.py.

References Config.Modifier._isOrContains(), Config.ModifierChain._isOrContains(), and Config.ModifierChain.copyAndExclude().

1701  def __copyIfExclude(self,toExclude):
1702  shouldCopy = False
1703  for m in toExclude:
1704  if self._isOrContains(m):
1705  shouldCopy = True
1706  break
1707  if shouldCopy:
1708  return self.copyAndExclude(toExclude)
1709  return self
def __copyIfExclude(self, toExclude)
Definition: Config.py:1701
def copyAndExclude(self, toExclude)
Definition: Config.py:1687
def _isOrContains(self, other)
Definition: Config.py:1710
def Config.ModifierChain._applyNewProcessModifiers (   self,
  process 
)
private
Should only be called by cms.Process instances
applies list of accumulated changes to the process

Definition at line 1675 of file Config.py.

References Config.ModifierChain.__chain.

1675  def _applyNewProcessModifiers(self,process):
1676  """Should only be called by cms.Process instances
1677  applies list of accumulated changes to the process"""
1678  for m in self.__chain:
1679  m._applyNewProcessModifiers(process)
def _applyNewProcessModifiers(self, process)
Definition: Config.py:1675
def Config.ModifierChain._isChosen (   self)
private
def Config.ModifierChain._isOrContains (   self,
  other 
)
private

Definition at line 1710 of file Config.py.

References Config.ModifierChain.__chain.

Referenced by Config.ModifierChain.__copyIfExclude().

1710  def _isOrContains(self, other):
1711  if self is other:
1712  return True
1713  for m in self.__chain:
1714  if m._isOrContains(other):
1715  return True
1716  return False
1717 
def _isOrContains(self, other)
Definition: Config.py:1710
def Config.ModifierChain._setChosen (   self)
private
Should only be called by cms.Process instances

Definition at line 1680 of file Config.py.

References Config.ModifierChain.__chain, Config.Modifier.__chosen, and Config.ModifierChain.__chosen.

1680  def _setChosen(self):
1681  """Should only be called by cms.Process instances"""
1682  self.__chosen = True
1683  for m in self.__chain:
1684  m._setChosen()
def _setChosen(self)
Definition: Config.py:1680
def Config.ModifierChain.copyAndExclude (   self,
  toExclude 
)
Creates a new ModifierChain which is a copy of
  this ModifierChain but excludes any Modifier or
  ModifierChain in the list toExclude.
  The exclusion is done recursively down the chain.

Definition at line 1687 of file Config.py.

References Config.ModifierChain.__chain.

Referenced by Config.ModifierChain.__copyIfExclude().

1687  def copyAndExclude(self, toExclude):
1688  """Creates a new ModifierChain which is a copy of
1689  this ModifierChain but excludes any Modifier or
1690  ModifierChain in the list toExclude.
1691  The exclusion is done recursively down the chain.
1692  """
1693  newMods = []
1694  for m in self.__chain:
1695  if m not in toExclude:
1696  s = m
1697  if isinstance(m,ModifierChain):
1698  s = m.__copyIfExclude(toExclude)
1699  newMods.append(s)
1700  return ModifierChain(*newMods)
def copyAndExclude(self, toExclude)
Definition: Config.py:1687

Member Data Documentation

Config.ModifierChain.__chain
private
Config.ModifierChain.__chosen
private

Definition at line 1673 of file Config.py.

Referenced by Config.ModifierChain._isChosen(), and Config.ModifierChain._setChosen().