CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes
cfg-viewer.visitor Class Reference

Public Member Functions

def __init__
 
def enter
 
def leave
 

Public Attributes

 currentName
 
 df
 
 done
 
 innerSeq
 
 oldNames
 
 seq
 
 seqs
 

Detailed Description

Definition at line 820 of file cfg-viewer.py.

Constructor & Destructor Documentation

def cfg-viewer.visitor.__init__ (   self,
  df 
)

Definition at line 821 of file cfg-viewer.py.

822  def __init__(self, df):
823  self.df = df
824  self.seq = 0
825  self.currentName =""
826  self.oldNames =[]
827  self.done =[]
828  self.seqs={}
829  self.innerSeq = False

Member Function Documentation

def cfg-viewer.visitor.enter (   self,
  value 
)

Definition at line 830 of file cfg-viewer.py.

References python.multivaluedict.append(), cfg-viewer.visitor.currentName, cfg-viewer.visitor.df, cfg-viewer.doModules(), reco.if(), cfg-viewer.visitor.innerSeq, cfg-viewer.visitor.seq, and cfg-viewer.visitor.seqs.

831  def enter(self, value):
832  if(isinstance(value,cms._Module)):
833  doModules(value, self.df, self.seq,
834  self.seqs, self.currentName, self.innerSeq)
835  if(isinstance(value,cms.Sequence)):
836  if(len(self.currentName) >0):self.oldNames.insert(0, self.currentName)
837  if(self.seq >0):
838  # this is an inner sequence
839  self.innerSeq = True;
840  self.seqs[self.currentName].append(value.label())
841  self.currentName = value.label()
842  self.seqs[self.currentName] = []
843  self.seq +=1
def doModules
Definition: cfg-viewer.py:795
if(dp >Float(M_PI)) dp-
def cfg-viewer.visitor.leave (   self,
  value 
)

Definition at line 844 of file cfg-viewer.py.

References cfg-viewer.visitor.currentName, evf::MicroStateService.done, edm::service::MessageLoggerScribe.done, cfg-viewer.visitor.done, cfg-viewer.getParamSeqDict(), reco.if(), cfg-viewer.visitor.innerSeq, cfg-viewer.visitor.oldNames, cfg-viewer.visitor.seq, and split.

845  def leave(self, value):
846  if(isinstance(value,cms.Sequence)):
847  name = value.label()
848  if(name in self.oldNames):self.oldNames.remove(name)
849  if(self.currentName == name and len(self.oldNames) >0):
850  self.currentName = self.oldNames.pop(0)
851  if(name not in self.done):
852  d = getParamSeqDict(self.seqs.pop(name),
853  re.sub("<|>|'", "", str(type(value))).split(".")[-1], "")
854  self.df.write(",%s:%s"%(name,d))
855  self.done.append(name)
856  self.seq -=1
857  if(self.seq==0): self.innerSeq = False;
858 
# Used to enforce dictionary in datfile have same format.
def getParamSeqDict
Definition: cfg-viewer.py:859
if(dp >Float(M_PI)) dp-
double split
Definition: MVATrainer.cc:139

Member Data Documentation

cfg-viewer.visitor.currentName

Definition at line 824 of file cfg-viewer.py.

Referenced by cfg-viewer.visitor.enter(), and cfg-viewer.visitor.leave().

cfg-viewer.visitor.df

Definition at line 822 of file cfg-viewer.py.

Referenced by cfg-viewer.visitor.enter().

cfg-viewer.visitor.done

Definition at line 826 of file cfg-viewer.py.

Referenced by cfg-viewer.visitor.leave().

cfg-viewer.visitor.innerSeq

Definition at line 828 of file cfg-viewer.py.

Referenced by cfg-viewer.visitor.enter(), and cfg-viewer.visitor.leave().

cfg-viewer.visitor.oldNames

Definition at line 825 of file cfg-viewer.py.

Referenced by cfg-viewer.visitor.leave().

cfg-viewer.visitor.seq

Definition at line 823 of file cfg-viewer.py.

Referenced by cfg-viewer.visitor.enter(), and cfg-viewer.visitor.leave().

cfg-viewer.visitor.seqs

Definition at line 827 of file cfg-viewer.py.

Referenced by cfg-viewer.visitor.enter().