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 |
def DybPython::Interactive::genrepr::reload_ | ( | ) |
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