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

Constructor & Destructor Documentation

◆ __init__()

def Config.ModifierChain.__init__ (   self,
  chainedModifiers 
)

Definition at line 1921 of file Config.py.

1921  def __init__(self, *chainedModifiers):
1922  self.__chosen = False
1923  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 1950 of file Config.py.

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

1950  def __copyIfExclude(self,toExclude):
1951  shouldCopy = False
1952  for m in toExclude:
1953  if self._isOrContains(m):
1954  shouldCopy = True
1955  break
1956  if shouldCopy:
1957  return self.copyAndExclude(toExclude)
1958  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 1924 of file Config.py.

References Config.ModifierChain.__chain.

1924  def _applyNewProcessModifiers(self,process):
1925  """Should only be called by cms.Process instances
1926  applies list of accumulated changes to the process"""
1927  for m in self.__chain:
1928  m._applyNewProcessModifiers(process)

◆ _isChosen()

def Config.ModifierChain._isChosen (   self)
private

Definition at line 1934 of file Config.py.

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

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

1934  def _isChosen(self):
1935  return self.__chosen

◆ _isOrContains()

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

Definition at line 1959 of file Config.py.

References Config.ModifierChain.__chain.

Referenced by Config.ModifierChain.__copyIfExclude().

1959  def _isOrContains(self, other):
1960  if self is other:
1961  return True
1962  for m in self.__chain:
1963  if m._isOrContains(other):
1964  return True
1965  return False
1966 

◆ _setChosen()

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

Definition at line 1929 of file Config.py.

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

1929  def _setChosen(self):
1930  """Should only be called by cms.Process instances"""
1931  self.__chosen = True
1932  for m in self.__chain:
1933  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 1936 of file Config.py.

References Config.ModifierChain.__chain.

Referenced by Config.ModifierChain.__copyIfExclude().

1936  def copyAndExclude(self, toExclude):
1937  """Creates a new ModifierChain which is a copy of
1938  this ModifierChain but excludes any Modifier or
1939  ModifierChain in the list toExclude.
1940  The exclusion is done recursively down the chain.
1941  """
1942  newMods = []
1943  for m in self.__chain:
1944  if m not in toExclude:
1945  s = m
1946  if isinstance(m,ModifierChain):
1947  s = m.__copyIfExclude(toExclude)
1948  newMods.append(s)
1949  return ModifierChain(*newMods)

Member Data Documentation

◆ __chain

Config.ModifierChain.__chain
private

◆ __chosen

Config.ModifierChain.__chosen
private

Definition at line 1922 of file Config.py.

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