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

Constructor & Destructor Documentation

◆ __init__()

def Config.ModifierChain.__init__ (   self,
  chainedModifiers 
)

Definition at line 1914 of file Config.py.

1914  def __init__(self, *chainedModifiers):
1915  self.__chosen = False
1916  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 1943 of file Config.py.

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

1943  def __copyIfExclude(self,toExclude):
1944  shouldCopy = False
1945  for m in toExclude:
1946  if self._isOrContains(m):
1947  shouldCopy = True
1948  break
1949  if shouldCopy:
1950  return self.copyAndExclude(toExclude)
1951  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 1917 of file Config.py.

References Config.ModifierChain.__chain.

1917  def _applyNewProcessModifiers(self,process):
1918  """Should only be called by cms.Process instances
1919  applies list of accumulated changes to the process"""
1920  for m in self.__chain:
1921  m._applyNewProcessModifiers(process)

◆ _isChosen()

def Config.ModifierChain._isChosen (   self)
private

Definition at line 1927 of file Config.py.

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

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

1927  def _isChosen(self):
1928  return self.__chosen

◆ _isOrContains()

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

Definition at line 1952 of file Config.py.

References Config.ModifierChain.__chain.

Referenced by Config.ModifierChain.__copyIfExclude().

1952  def _isOrContains(self, other):
1953  if self is other:
1954  return True
1955  for m in self.__chain:
1956  if m._isOrContains(other):
1957  return True
1958  return False
1959 

◆ _setChosen()

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

Definition at line 1922 of file Config.py.

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

1922  def _setChosen(self):
1923  """Should only be called by cms.Process instances"""
1924  self.__chosen = True
1925  for m in self.__chain:
1926  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 1929 of file Config.py.

References Config.ModifierChain.__chain.

Referenced by Config.ModifierChain.__copyIfExclude().

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

Member Data Documentation

◆ __chain

Config.ModifierChain.__chain
private

◆ __chosen

Config.ModifierChain.__chosen
private

Definition at line 1915 of file Config.py.

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