CMS 3D CMS Logo

Modules::ESPrefer Class Reference

Inheritance diagram for Modules::ESPrefer:

Mixins::_ConfigureComponent Mixins::_TypedParameterizable Mixins::_Unlabelable Mixins::_Labelable Mixins::_Parameterizable

List of all members.

Public Member Functions

def __init__
def copy
def dumpPythonAs
def moduleLabel_
def nameInProcessDesc_
def targetLabel_

Private Member Functions

def _placeImpl

Private Attributes

 _targetLabel


Detailed Description

Used to set which EventSetup provider should provide a particular data item
in the case where multiple providers are capable of delivering the data.
The first argument specifies the C++ class type of the prodiver.
If the provider has been given a label, you must specify that label as the second argument.
Additional 'vstring' arguments maybe used to specify exactly which EventSetup Records
are being preferred and optionally which data items within that Record.
E.g.,
    #prefer all data in record 'OrangeRecord' from 'juicer'
    ESPrefer("ESJuicerProd", OrangeRecord=cms.vstring())
or
    #prefer only "Orange" data in "OrangeRecord" from "juicer" 
    ESPrefer("ESJuicerProd", OrangeRecord=cms.vstring("ExtraPulp"))
or 
    #prefer only "Orange" data with label "ExtraPulp" in "OrangeRecord" from "juicer" 
    ESPrefer("ESJuicerProd", OrangeRecord=cms.vstring("Orange/ExtraPulp"))

Definition at line 54 of file Modules.py.


Member Function Documentation

def Modules::ESPrefer::__init__ (   self,
  type_,
  targetLabel = '',
  arg,
  kargs 
)

Definition at line 71 of file Modules.py.

00071                                                         :
00072         super(ESPrefer,self).__init__(type_,*arg,**kargs)
00073         self._targetLabel = targetLabel
00074         if targetLabel is None:
00075             self._targetLabel = str('')
00076         if kargs:
00077             for k,v in kargs.iteritems():
00078                 if not isinstance(v,vstring):
00079                     raise RuntimeError('ESPrefer only allows vstring attributes. "'+k+'" is a '+str(type(v)))
    def _placeImpl(self,name,proc):

def Modules::ESPrefer::_placeImpl (   self,
  name,
  proc 
) [private]

Definition at line 80 of file Modules.py.

00080                                   :
00081         proc._placeESPrefer(name,self)
    def nameInProcessDesc_(self, myname):

def Modules::ESPrefer::copy (   self  ) 

Reimplemented from Mixins::_TypedParameterizable.

Definition at line 85 of file Modules.py.

00085                   :
00086         returnValue = ESPrefer.__new__(type(self))
00087         returnValue.__init__(self.type_(), self._targetLabel)
00088         return returnValue
    def moduleLabel_(self, myname):

def Modules::ESPrefer::dumpPythonAs (   self,
  label,
  options = PrintOptions() 
)

Definition at line 93 of file Modules.py.

00093                                                          :
00094        result = options.indentation()
00095        basename = self._targetLabel
00096        if basename == '':
00097            basename = self.type_()
00098        if options.isCfg:
00099            # do either type or label
00100            result += 'process.prefer("'+basename+'"'
00101            if self.parameterNames_():
00102                result += ",\n"+_Parameterizable.dumpPython(self,options)+options.indentation()
00103            result +=')\n'
00104        else:
00105            # use the base class Module
00106            result += 'es_prefer_'+basename+' = cms.ESPrefer("'+self.type_()+'"'
00107            if self._targetLabel != '':
00108               result += ',"'+self._targetLabel+'"'
00109            if self.parameterNames_():
00110                result += ",\n"+_Parameterizable.dumpPython(self,options)+options.indentation()
00111            result += ')\n'
00112        return result
00113 
class _Module(_ConfigureComponent,_TypedParameterizable,_Labelable,_SequenceLeaf):

def Modules::ESPrefer::moduleLabel_ (   self,
  myname 
)

Reimplemented from Mixins::_TypedParameterizable.

Definition at line 89 of file Modules.py.

00089                                   :
00090         return self._targetLabel
    def targetLabel_(self):

def Modules::ESPrefer::nameInProcessDesc_ (   self,
  myname 
)

Reimplemented from Mixins::_TypedParameterizable.

Definition at line 82 of file Modules.py.

00082                                         :
00083         # the C++ parser can give it a name like "label@prefer".  Get rid of that.
00084         return "esprefer_" + self.type_() + "@" + self._targetLabel
    def copy(self):

def Modules::ESPrefer::targetLabel_ (   self  ) 

Definition at line 91 of file Modules.py.

00091                           :
00092         return self._targetLabel
    def dumpPythonAs(self, label, options=PrintOptions()):


Member Data Documentation

Modules::ESPrefer::_targetLabel [private]

Definition at line 73 of file Modules.py.


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:49:07 2009 for CMSSW by  doxygen 1.5.4