CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
Config.Modifier Class Reference
Inheritance diagram for Config.Modifier:

Public Member Functions

def __and__
 
def __init__
 
def __invert__
 
def __or__
 
def makeProcessModifier
 
def toModify
 
def toReplaceWith
 

Private Member Functions

def _isChosen
 
def _isOrContains
 
def _setChosen
 

Static Private Member Functions

def _toModify
 
def _toModifyCheck
 
def _toReplaceWith
 
def _toReplaceWithCheck
 

Private Attributes

 __chosen
 
 __processModifiers
 

Detailed Description

This class is used to define standard modifications to a Process.
An instance of this class is declared to denote a specific modification,e.g. era2017 could
reconfigure items in a process to match our expectation of running in 2017. Once declared,
these Modifier instances are imported into a configuration and items that need to be modified
are then associated with the Modifier and with the action to do the modification.
The registered modifications will only occur if the Modifier was passed to 
the cms.Process' constructor.

Definition at line 1671 of file Config.py.

Constructor & Destructor Documentation

def Config.Modifier.__init__ (   self)

Definition at line 1680 of file Config.py.

1681  def __init__(self):
self.__chosen = False

Member Function Documentation

def Config.Modifier.__and__ (   self,
  other 
)

Definition at line 1752 of file Config.py.

1753  def __and__(self, other):
return _AndModifier(self,other)
def Config.Modifier.__invert__ (   self)

Definition at line 1754 of file Config.py.

1755  def __invert__(self):
return _InvertModifier(self)
def Config.Modifier.__or__ (   self,
  other 
)

Definition at line 1756 of file Config.py.

Referenced by LumiList.LumiList.__add__().

1757  def __or__(self, other):
return _OrModifier(self,other)
def Config.Modifier._isChosen (   self)
private

Definition at line 1750 of file Config.py.

References Config.Modifier.__chosen.

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

1751  def _isChosen(self):
return self.__chosen
def Config.Modifier._isOrContains (   self,
  other 
)
private

Definition at line 1758 of file Config.py.

Referenced by Config.ModifierChain.__copyIfExclude().

1759  def _isOrContains(self, other):
1760  return self == other
1761 
def _isOrContains
Definition: Config.py:1758
def Config.Modifier._setChosen (   self)
private
Should only be called by cms.Process instances

Definition at line 1747 of file Config.py.

References Config.Modifier.__chosen.

1748  def _setChosen(self):
1749  """Should only be called by cms.Process instances"""
self.__chosen = True
def Config.Modifier._toModify (   obj,
  func,
  kw 
)
staticprivate

Definition at line 1711 of file Config.py.

References cms::cuda.func, and groupFilesInBlocks.temp.

1712  def _toModify(obj,func,**kw):
1713  if func is not None:
1714  func(obj)
1715  else:
1716  temp =_ParameterModifier(kw)
temp(obj)
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t Func __host__ __device__ V int Func func
def Config.Modifier._toModifyCheck (   obj,
  func,
  kw 
)
staticprivate

Definition at line 1690 of file Config.py.

1691  def _toModifyCheck(obj,func,**kw):
1692  if func is not None and len(kw) != 0:
raise TypeError("toModify takes either two arguments or one argument and key/value pairs")
def _toModifyCheck
Definition: Config.py:1690
def Config.Modifier._toReplaceWith (   toObj,
  fromObj 
)
staticprivate

Definition at line 1729 of file Config.py.

References str.

1730  def _toReplaceWith(toObj,fromObj):
1731  if isinstance(fromObj,_ModuleSequenceType):
1732  toObj._seq = fromObj._seq
1733  toObj._tasks = fromObj._tasks
1734  elif isinstance(fromObj,Task):
1735  toObj._collection = fromObj._collection
1736  elif isinstance(fromObj,_Parameterizable):
1737  #clear old items just incase fromObj is not a complete superset of toObj
1738  for p in toObj.parameterNames_():
1739  delattr(toObj,p)
1740  for p in fromObj.parameterNames_():
1741  setattr(toObj,p,getattr(fromObj,p))
1742  if isinstance(fromObj,_TypedParameterizable):
1743  toObj._TypedParameterizable__type = fromObj._TypedParameterizable__type
1744 
1745  else:
1746  raise TypeError("toReplaceWith does not work with type "+str(type(toObj)))
def _toReplaceWith
Definition: Config.py:1729
#define str(s)
def Config.Modifier._toReplaceWithCheck (   toObj,
  fromObj 
)
staticprivate

Definition at line 1718 of file Config.py.

1719  def _toReplaceWithCheck(toObj,fromObj):
1720  if not isinstance(fromObj, type(toObj)):
raise TypeError("toReplaceWith requires both arguments to be the same class type")
def _toReplaceWithCheck
Definition: Config.py:1718
def Config.Modifier.makeProcessModifier (   self,
  func 
)
This is used to create a ProcessModifer that can perform actions on the process as a whole.
   This takes as argument a callable object (e.g. function) that takes as its sole argument an instance of Process.
   In order to work, the value returned from this function must be assigned to a uniquely named variable.

Definition at line 1683 of file Config.py.

1684  def makeProcessModifier(self,func):
1685  """This is used to create a ProcessModifer that can perform actions on the process as a whole.
1686  This takes as argument a callable object (e.g. function) that takes as its sole argument an instance of Process.
1687  In order to work, the value returned from this function must be assigned to a uniquely named variable.
1688  """
return ProcessModifier(self,func)
def makeProcessModifier
Definition: Config.py:1683
def Config.Modifier.toModify (   self,
  obj,
  func = None,
  kw 
)
This is used to register an action to be performed on the specific object. Two different forms are allowed
Form 1: A callable object (e.g. function) can be passed as the second. This callable object is expected to take one argument
that will be the object passed in as the first argument.
Form 2: A list of parameter name, value pairs can be passed
   mod.toModify(foo, fred=cms.int32(7), barney = cms.double(3.14))
This form can also be used to remove a parameter by passing the value of None
    #remove the parameter foo.fred       
    mod.toModify(foo, fred = None)
Additionally, parameters embedded within PSets can also be modified using a dictionary
    #change foo.fred.pebbles to 3 and foo.fred.friend to "barney"
    mod.toModify(foo, fred = dict(pebbles = 3, friend = "barney)) )

Definition at line 1693 of file Config.py.

References Config._AndModifier._isChosen(), Config._InvertModifier._isChosen(), Config._OrModifier._isChosen(), and Config.Modifier._isChosen().

1694  def toModify(self,obj, func=None,**kw):
1695  """This is used to register an action to be performed on the specific object. Two different forms are allowed
1696  Form 1: A callable object (e.g. function) can be passed as the second. This callable object is expected to take one argument
1697  that will be the object passed in as the first argument.
1698  Form 2: A list of parameter name, value pairs can be passed
1699  mod.toModify(foo, fred=cms.int32(7), barney = cms.double(3.14))
1700  This form can also be used to remove a parameter by passing the value of None
1701  #remove the parameter foo.fred
1702  mod.toModify(foo, fred = None)
1703  Additionally, parameters embedded within PSets can also be modified using a dictionary
1704  #change foo.fred.pebbles to 3 and foo.fred.friend to "barney"
1705  mod.toModify(foo, fred = dict(pebbles = 3, friend = "barney)) )
1706  """
1707  Modifier._toModifyCheck(obj,func,**kw)
1708  if not self._isChosen():
1709  return
Modifier._toModify(obj,func,**kw)
def Config.Modifier.toReplaceWith (   self,
  toObj,
  fromObj 
)
If the Modifier is chosen the internals of toObj will be associated with the internals of fromObj

Definition at line 1721 of file Config.py.

References Config._AndModifier._isChosen(), Config._InvertModifier._isChosen(), Config._OrModifier._isChosen(), and Config.Modifier._isChosen().

1722  def toReplaceWith(self,toObj,fromObj):
1723  """If the Modifier is chosen the internals of toObj will be associated with the internals of fromObj
1724  """
1725  Modifier._toReplaceWithCheck(toObj,fromObj)
1726  if not self._isChosen():
1727  return
Modifier._toReplaceWith(toObj,fromObj)
def toReplaceWith
Definition: Config.py:1721

Member Data Documentation

Config.Modifier.__chosen
private

Definition at line 1682 of file Config.py.

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

Config.Modifier.__processModifiers
private

Definition at line 1681 of file Config.py.