| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DybPython::Interactive::genrepr Namespace Reference


Functions

def reload_
def _hdr
def _IRegistry
def _vector__unsigned_long
def _CLHEP__HepLorentzVector
def _HepMC__GenVertex
def _HepMC__GenParticle
def _HepMC__GenEvent
def _DayaBay__HepMCEvent
def _Context
def _DayaBay_GenHeader
def _TimeStamp
def _KeyedContainer_DayaBay__HepMCEvent

Function Documentation

def DybPython::Interactive::genrepr::reload_ (  ) 

Definition at line 27 of file genrepr.py.

00027              :
00028     import sys
00029     reload(sys.modules[__name__])
00030 
def _hdr(self):

def DybPython::Interactive::genrepr::_hdr (   self  )  [private]

Definition at line 31 of file genrepr.py.

00031               :
00032     return { '_class':self.__class__.__name__ }
00033 
00034 
def _IRegistry(self):

def DybPython::Interactive::genrepr::_IRegistry (   self  )  [private]

Definition at line 35 of file genrepr.py.

00035                     :
00036     assert self.__class__.__name__ == 'IRegistry'
00037     d = _hdr(self)
00038     d.update( name=self.name() , identifier=self.identifier() )
00039     return d
00040 
00041 
def _vector__unsigned_long(self):

def DybPython::Interactive::genrepr::_vector__unsigned_long (   self  )  [private]

Definition at line 42 of file genrepr.py.

00042                                 :
00043     assert self.__class__.__name__ ==  'vector<unsigned long>'
00044     d = _hdr(self)
00045     d.update( length=len(self) , items=[e for e in self])
00046     return d
00047 
def _CLHEP__HepLorentzVector(self):

def DybPython::Interactive::genrepr::_CLHEP__HepLorentzVector (   self  )  [private]

Definition at line 48 of file genrepr.py.

00048                                   :
00049     assert self.__class__.__name__ == 'CLHEP::HepLorentzVector'
00050     d = _hdr(self)
00051     d.update( px=self.px() , py=self.py() , pz=self.pz() , e=self.e() )
00052     return d
00053 
00054 
def _HepMC__GenVertex(self):

def DybPython::Interactive::genrepr::_HepMC__GenVertex (   self  )  [private]

Definition at line 55 of file genrepr.py.

00055                            :
00056     assert self.__class__.__name__ == 'HepMC::GenVertex'
00057     d = _hdr(self) 
00058     d.update( position=_CLHEP__HepLorentzVector(self.position()) )
00059     return d
00060 
00061 
def _HepMC__GenParticle(self):

def DybPython::Interactive::genrepr::_HepMC__GenParticle (   self  )  [private]

Definition at line 62 of file genrepr.py.

00062                              :
00063     assert self.__class__.__name__ == 'HepMC::GenParticle'
00064     d = _hdr(self)
00065     d.update( 
00066               pdg_id=self.pdg_id() ,
00067             momentum=_CLHEP__HepLorentzVector(self.momentum()) ,
00068    production_vertex=_HepMC__GenVertex(self.production_vertex()) 
00069            )
00070     return d
00071 
00072 
def _HepMC__GenEvent(self):

def DybPython::Interactive::genrepr::_HepMC__GenEvent (   self  )  [private]

Definition at line 73 of file genrepr.py.

00073                           :
00074     assert self.__class__.__name__ == 'HepMC::GenEvent', "got %s " % self.__class__.__name__
00075     d = _hdr(self)
00076     d.update( event_number=self.event_number() )
00077     
00078     particles = []
00079     for prt in irange(self.particles_begin(),self.particles_end()):
00080         particles.append( _HepMC__GenParticle(prt) )
00081     d.update( particles=particles )
00082     
00083     vertices = []
00084     for vtx in irange(self.vertices_begin(),self.vertices_end()):
00085         vertices.append( _HepMC__GenVertex(vtx) )
00086     d.update( vertices=vertices )
00087     
00088     return d
00089 
00090 
def _DayaBay__HepMCEvent(self):

def DybPython::Interactive::genrepr::_DayaBay__HepMCEvent (   self  )  [private]

Definition at line 91 of file genrepr.py.

00091                               :
00092 
00093     assert self.__class__.__name__ == 'DayaBay::HepMCEvent'
00094     d = _hdr(self)
00095     d.update( 
00096         generatorName=self.generatorName() , 
00097         event=_HepMC__GenEvent(self.event()) 
00098         )
00099     return d
00100 
00101 
def _Context(self):

def DybPython::Interactive::genrepr::_Context (   self  )  [private]

Definition at line 102 of file genrepr.py.

00102                   :
00103     assert self.__class__.__name__ == 'Context'
00104     d = _hdr(self)
00105     d.update(
00106          site=self.GetSite(),
00107          simFlag=self.GetSimFlag(),
00108          detId=self.GetDetId(),
00109          timeStamp=_TimeStamp(self.GetTimeStamp()), 
00110       )
00111     return d  
00112 
00113         
def _DayaBay_GenHeader(self):

def DybPython::Interactive::genrepr::_DayaBay_GenHeader (   self  )  [private]

    introspective method calling can be dangerous !!
    ... hitting the "release" method decrements the ref count causing the 
    count down to segmentation problem #49
          
          dybgaudi/InstallArea/include/Event/HepMCEvent.h
          gaudi/GaudiKernel/GaudiKernel/KeyedObject.h

Definition at line 114 of file genrepr.py.

00114                             :
00115     """
00116         introspective method calling can be dangerous !!
00117         ... hitting the "release" method decrements the ref count causing the 
00118         count down to segmentation problem #49
00119               
00120               dybgaudi/InstallArea/include/Event/HepMCEvent.h
00121               gaudi/GaudiKernel/GaudiKernel/KeyedObject.h
00122     """
00123     assert self.__class__.__name__ == 'DayaBay::GenHeader'
00124     d = _hdr(self)
00125     
00126     skips = { 
00127                 'serialize':"too complex",
00128                'fillStream':"handeled in str ",
00129              'inputHeaders':"too complex",
00130                   'linkMgr':"too complex" , 
00131                   'release':"causes decrement of ref count ... countdown to segmentation error" ,
00132                  'earliest':"prevents consistency", 
00133                    'latest':"prevents consistency" ,
00134             }
00135                 
00136     times = [ 'earliest','latest','timeStamp' ]
00137     
00138     meths = [x for x in dir(self) if callable(getattr(self,x))]
00139     for meth in meths:
00140         if meth[0:3] not in ['add','set'] and meth not in skips and not meth[0].isupper() and not meth[0] == "_" :
00141             if meth == "event":
00142                 d[meth] = _HepMC__GenEvent( self.event() )
00143             elif meth == "randomState":
00144                 d[meth] = _vector__unsigned_long( self.randomState() )
00145             elif meth == "context":
00146                 d[meth] = _Context( self.context() )
00147             elif meth in times:
00148                 its = ROOT.TimeStamp()
00149                 its = getattr(self,meth)()
00150                 d[meth] = its.AsString()
00151                 del its
00152             else:
00153                 r = getattr(self , meth )()
00154                 d[meth]=repr(r) 
00155     return d
00156           
def _TimeStamp(self):

def DybPython::Interactive::genrepr::_TimeStamp (   self  )  [private]

Definition at line 157 of file genrepr.py.

00157                     :
00158     assert self.__class__.__name__ == 'TimeStamp'
00159     d = _hdr(self)
00160     d.update(
00161         asString=self.AsString() 
00162      )
00163     return d
00164                                     
00165         
def _KeyedContainer_DayaBay__HepMCEvent(self):

def DybPython::Interactive::genrepr::_KeyedContainer_DayaBay__HepMCEvent (   self  )  [private]

Definition at line 166 of file genrepr.py.

00166                                              :
00167     assert self.__class__.__name__ == 'KeyedContainer<DayaBay::HepMCEvent,Containers::KeyedObjectManager<Containers::hashmap> >'
00168     d = _hdr(self)
00169     d.update( clID=self.clID() , name=self.name() , len=len(self) )
00170     child = []
00171     for itm in self:
00172         assert itm.parent() == self
00173         child.append( _DayaBay__HepMCEvent(itm) )
00174     d.update( child=child )
00175     return d
00176 
00177 
00178 
00179 
00180 
00181 
00182 
00183 
00184 
00185 dress_classes( 
00186    {
00187      # 'DayaBay::HepMCEvent':_DayaBay__HepMCEvent,
00188          'HepMC::GenEvent':_HepMC__GenEvent,
00189      'vector<unsigned long>':_vector__unsigned_long,
00190       'HepMC::GenParticle':_HepMC__GenParticle,
00191         'HepMC::GenVertex':_HepMC__GenVertex,
00192  'CLHEP::HepLorentzVector':_CLHEP__HepLorentzVector,
00193      #'KeyedContainer<DayaBay::HepMCEvent,Containers::KeyedObjectManager<Containers::hashmap> >': _KeyedContainer_DayaBay__HepMCEvent,
00194         'DayaBay::GenHeader':_DayaBay_GenHeader ,
00195         'IRegistry':_IRegistry,
00196    }
00197 )
00198 
00199 
00200 
00201 
00202 

| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:13:02 2011 for DybPython by doxygen 1.4.7