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 1907 of file Config.py.

Constructor & Destructor Documentation

◆ __init__()

def Config.ModifierChain.__init__ (   self,
  chainedModifiers 
)

Definition at line 1910 of file Config.py.

1910  def __init__(self, *chainedModifiers):
1911  self.__chosen = False
1912  self.__chain = chainedModifiers
def __init__(self, dataset, job_number, job_id, job_name, isDA, isMC, applyBOWS, applyEXTRACOND, extraconditions, runboundary, lumilist, intlumi, maxevents, gt, allFromGT, alignmentDB, alignmentTAG, apeDB, apeTAG, bowDB, bowTAG, vertextype, tracktype, refittertype, ttrhtype, applyruncontrol, ptcut, CMSSW_dir, the_dir)

Member Function Documentation

◆ __copyIfExclude()

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

Definition at line 1939 of file Config.py.

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

1939  def __copyIfExclude(self,toExclude):
1940  shouldCopy = False
1941  for m in toExclude:
1942  if self._isOrContains(m):
1943  shouldCopy = True
1944  break
1945  if shouldCopy:
1946  return self.copyAndExclude(toExclude)
1947  return self

◆ _applyNewProcessModifiers()

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 1913 of file Config.py.

References Config.ModifierChain.__chain.

1913  def _applyNewProcessModifiers(self,process):
1914  """Should only be called by cms.Process instances
1915  applies list of accumulated changes to the process"""
1916  for m in self.__chain:
1917  m._applyNewProcessModifiers(process)

◆ _isChosen()

def Config.ModifierChain._isChosen (   self)
private

Definition at line 1923 of file Config.py.

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

Referenced by Config._BoolModifierBase.toModify(), and Config._BoolModifierBase.toReplaceWith().

1923  def _isChosen(self):
1924  return self.__chosen

◆ _isOrContains()

def Config.ModifierChain._isOrContains (   self,
  other 
)
private

Definition at line 1948 of file Config.py.

References Config.ModifierChain.__chain.

Referenced by Config.ModifierChain.__copyIfExclude().

1948  def _isOrContains(self, other):
1949  if self is other:
1950  return True
1951  for m in self.__chain:
1952  if m._isOrContains(other):
1953  return True
1954  return False
1955 

◆ _setChosen()

def Config.ModifierChain._setChosen (   self)
private
Should only be called by cms.Process instances

Definition at line 1918 of file Config.py.

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

1918  def _setChosen(self):
1919  """Should only be called by cms.Process instances"""
1920  self.__chosen = True
1921  for m in self.__chain:
1922  m._setChosen()

◆ copyAndExclude()

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 1925 of file Config.py.

References Config.ModifierChain.__chain.

Referenced by Config.ModifierChain.__copyIfExclude().

1925  def copyAndExclude(self, toExclude):
1926  """Creates a new ModifierChain which is a copy of
1927  this ModifierChain but excludes any Modifier or
1928  ModifierChain in the list toExclude.
1929  The exclusion is done recursively down the chain.
1930  """
1931  newMods = []
1932  for m in self.__chain:
1933  if m not in toExclude:
1934  s = m
1935  if isinstance(m,ModifierChain):
1936  s = m.__copyIfExclude(toExclude)
1937  newMods.append(s)
1938  return ModifierChain(*newMods)

Member Data Documentation

◆ __chain

Config.ModifierChain.__chain
private

◆ __chosen

Config.ModifierChain.__chosen
private

Definition at line 1911 of file Config.py.

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