CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Static Private Attributes

Modules::_Module Class Reference

Inheritance diagram for Modules::_Module:
Mixins::_ConfigureComponent Mixins::_TypedParameterizable Mixins::_Labelable SequenceTypes::_SequenceLeaf Mixins::_Parameterizable SequenceTypes::_Sequenceable Modules::EDAnalyzer Modules::EDFilter Modules::EDProducer Modules::OutputModule

List of all members.

Public Member Functions

def __init__
def insertInto
def setPrerequisites

Private Member Functions

def _clonesequence
def _errorstr

Static Private Attributes

 __isStrict__ = False

Detailed Description

base class for classes which denote framework event based 'modules'

Definition at line 115 of file Modules.py.


Constructor & Destructor Documentation

def Modules::_Module::__init__ (   self,
  type_,
  arg,
  kargs 
)

Reimplemented from Mixins::_TypedParameterizable.

Reimplemented in Modules::EDProducer, Modules::EDFilter, Modules::EDAnalyzer, and Modules::OutputModule.

Definition at line 118 of file Modules.py.

00119                                          :
00120         super(_Module,self).__init__(type_,*arg,**kargs)
00121         if _Module.__isStrict__:
00122             self.setIsFrozen()
        saveOrigin(self, 2)    

Member Function Documentation

def Modules::_Module::_clonesequence (   self,
  lookuptable 
) [private]

Reimplemented from SequenceTypes::_Sequenceable.

Definition at line 123 of file Modules.py.

00124                                          :
00125         try:
00126             return lookuptable[id(self)]
00127         except:
            raise ModuleCloneError(self._errorstr())
def Modules::_Module::_errorstr (   self) [private]

Definition at line 128 of file Modules.py.

00129                        :
00130          # return something like "EDAnalyzer("foo", ...)"
00131         typename = format_typename(self)
00132         return "%s('%s', ...)" %(typename, self.type_())
    
def Modules::_Module::insertInto (   self,
  parameterSet,
  myname 
)

Reimplemented from Mixins::_TypedParameterizable.

Definition at line 136 of file Modules.py.

00137                                               :
00138         if "libraries_" in self.__dict__:
00139             from ctypes import LibraryLoader, CDLL
00140             import platform
00141             loader = LibraryLoader(CDLL)
00142             ext = platform.uname()[0] == "Darwin" and "dylib" or "so"
00143             [loader.LoadLibrary("lib%s.%s" % (l, ext)) for l in self.libraries_]
00144         super(_Module,self).insertInto(parameterSet,myname)

def Modules::_Module::setPrerequisites (   self,
  libs 
)

Definition at line 133 of file Modules.py.

00134                                      :
00135         self.__dict__["libraries_"] = libs


Member Data Documentation

Modules::_Module::__isStrict__ = False [static, private]

Definition at line 117 of file Modules.py.