#include <EvtRecTrackCnv.h>
Inheritance diagram for EvtRecTrackCnv:
Public Types | |
typedef Ty1 | source |
typedef Ty2 | destination |
Public Member Functions | |
virtual | ~EvtRecTrackCnv () |
virtual long | repSvcType () const |
virtual StatusCode | initialize () |
virtual StatusCode | finalize () |
void | declareObject (const std::string &fullPath, const CLID &clid, const std::string &treename, const std::string &branchname) |
Store TDS path to link a particular converter to an object on the TDS. | |
virtual StatusCode | createObj (IOpaqueAddress *addr, DataObject *&dat) |
Convert the persistent object to transient. | |
virtual StatusCode | createRep (DataObject *pObject, IOpaqueAddress *&refpAddress) |
Convert the transient object to the requested representation. | |
virtual StatusCode | fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject) |
Resolve the references of the converted object. | |
virtual StatusCode | fillObjRefs (IOpaqueAddress *pAddress, DataObject *pObject) |
Resolve the references of the converted object. | |
TObject * | getReadObject () const |
get the object to be read | |
destination * | operator (const source &) const |
Static Public Member Functions | |
static const CLID & | classID () |
static const unsigned char | storageType () |
Storage type and class ID. | |
Protected Member Functions | |
EvtRecTrackCnv (ISvcLocator *svc) | |
virtual StatusCode | DataObjectToTObject (DataObject *obj, RootAddress *addr) |
transformation to root | |
virtual StatusCode | TObjectToDataObject (DataObject *&obj) |
transformation from root | |
virtual destination * | convert (const source &) const =0 |
Protected Attributes | |
RootCnvSvc * | m_cnvSvc |
std::vector< RootCnvSvc::Leaf > | m_leaves |
RootInterface * | m_rootInterface |
pointer to the RootInterface | |
IDataProviderSvc * | m_eds |
pointer to eventdataservice | |
int | m_branchNr |
the branchNr of this converter for writing | |
int | m_branchNrDst |
int | m_branchNrMc |
int | m_branchNrRecon |
int | m_branchNrEvtRec |
int | m_branchNrEvtHeader |
int | m_branchNrEvtNavigator |
TObject * | m_objRead |
the object that was read | |
CLID | CLID_top |
the CLID of the upper converter if any | |
TArrayS * | m_branchNumbers |
array with number of branches for reading | |
std::string | m_rootBranchname |
root branchname (may be concatenated of severals) | |
std::string | m_rootTreename |
each converter knows it's treename | |
std::string | m_currentFileName |
std::vector< void * > | m_adresses |
each converter knows the corresponding adresses | |
RootEvtSelector * | m_evtsel |
Private Attributes | |
commonData | m_common |
relational maps | |
TObjArray * | m_evtRecTrackCol |
Friends | |
class | CnvFactory< EvtRecTrackCnv > |
Definition at line 14 of file EvtRecTrackCnv.h.
typedef Ty2 Converter< Ty1, Ty2 >::destination [inherited] |
Definition at line 19 of file Converter.h.
Definition at line 18 of file Converter.h.
virtual EvtRecTrackCnv::~EvtRecTrackCnv | ( | ) | [inline, virtual] |
EvtRecTrackCnv::EvtRecTrackCnv | ( | ISvcLocator * | svc | ) | [protected] |
Definition at line 15 of file EvtRecTrackCnv.cxx.
References RootEventBaseCnv::m_adresses, m_evtRecTrackCol, and RootEventBaseCnv::m_rootBranchname.
00016 : RootEventBaseCnv(classID(), svc) 00017 { 00018 m_rootBranchname = "m_evtRecTrackCol"; 00019 m_adresses.push_back(&m_evtRecTrackCol); 00020 m_evtRecTrackCol = 0; 00021 }
static const CLID& EvtRecTrackCnv::classID | ( | ) | [inline, static] |
Definition at line 19 of file EvtRecTrackCnv.h.
References CLID_EvtRecTrackCol.
Referenced by RootCnvSvc::addConverters().
00019 { return CLID_EvtRecTrackCol; }
virtual destination* Converter< Ty1, Ty2 >::convert | ( | const source & | ) | const [protected, pure virtual, inherited] |
StatusCode RootEventBaseCnv::createObj | ( | IOpaqueAddress * | addr, | |
DataObject *& | dat | |||
) | [virtual, inherited] |
Convert the persistent object to transient.
Reimplemented in EventCnv.
Definition at line 157 of file RootEventBaseCnv.cxx.
References RootEventBaseCnv::CLID_top, Bes_Common::DEBUG, calibUtil::ERROR, RootInterface::getBranchEntry(), RootAddress::getBranchname(), RootInterface::getCurrentFileName(), RootInterface::getENDFILE(), RootInterface::getEntries(), RootAddress::getEntryNr(), RootAddress::getNrBranches(), RootAddress::getPath(), RootEventBaseCnv::getReadObject(), RootEvtSelector::getRecId(), RootInterface::getSelectFromTag(), RootAddress::getTreename(), Bes_Common::INFO, RootEventBaseCnv::m_adresses, RootEventBaseCnv::m_branchNumbers, RootEventBaseCnv::m_currentFileName, RootEventBaseCnv::m_eds, RootEventBaseCnv::m_evtsel, RootEventBaseCnv::m_objRead, RootEventBaseCnv::m_rootInterface, msgSvc(), RootInterface::setBranchAddress(), RootAddress::setEntryNr(), subSeperate::temp, and RootEventBaseCnv::TObjectToDataObject().
00158 { 00159 // transform ROOT object to TDS object 00160 MsgStream log(msgSvc(), "RootEventBaseCnv"); 00161 log << MSG::DEBUG << "RootEventBaseCnv::createObj with clid " <<addr->clID()<< endreq; 00162 StatusCode sc; 00163 00164 // add 2005-11-29 00165 // log<<MSG::INFO<<"######### RootEventBaseCnv ::createObj begin of createObj: m_branchNumbers "<<m_branchNumbers->GetSize()<<"###############"<<endreq; 00166 00167 RootAddress *raddr=dynamic_cast<RootAddress *>(addr); 00168 if (!raddr) { 00169 log << MSG::ERROR << "Could not downcast to Root address" << endreq; 00170 return StatusCode::FAILURE; 00171 } 00172 00173 static int temp =0; //control the begin of each files 2005-12-01 00174 static int entryN =0; //control the event number of each files 2005-21-01 00175 static int brN =0; //control munber of branch of the tree; 00176 int lastBrn = brN; 00177 //lastBrn = brN; 00178 static int branchN=0; 00179 static bool isSet=true; 00180 00181 static int entryBefore = 0; 00182 static bool addEntryEachFile = true; 00183 00184 00185 if(m_rootInterface->getENDFILE() || (temp >0 && temp < branchN)){ // if the file has get the end:y the go to next file to create a new tree 00186 00187 if(m_rootInterface->getENDFILE() ) { 00188 entryN = 0; 00189 } 00190 00191 temp++; 00192 00193 delete m_branchNumbers; 00194 m_branchNumbers = new TArrayS(0); 00195 00196 if(temp == branchN) { 00197 temp =0; 00198 } 00199 } 00200 00201 if(m_rootInterface->getENDFILE()) addEntryEachFile = true; 00202 // the 2nd method 00203 if(m_evtsel->getRecId() - entryBefore == 0) { // first event in this file 00204 delete m_branchNumbers; 00205 m_branchNumbers = new TArrayS(0); 00206 } 00207 00208 //new method to initialize the branchNumber 00209 if(m_currentFileName=="") m_currentFileName = m_rootInterface->getCurrentFileName(); 00210 if(!(m_currentFileName == m_rootInterface->getCurrentFileName())){ 00211 m_currentFileName = m_rootInterface->getCurrentFileName(); 00212 delete m_branchNumbers; 00213 m_branchNumbers = new TArrayS(0); 00214 } 00215 //---------------------------------------- 00216 00217 if (m_branchNumbers->GetSize()<=0) { 00218 if(isSet) brN++; 00219 int branchNumber; 00220 for (int nb=0;nb<raddr->getNrBranches();nb++) { 00221 sc=m_rootInterface->setBranchAddress(raddr->getTreename().c_str(),raddr->getBranchname(nb).c_str(),m_adresses[nb],branchNumber); 00222 if (!sc.isSuccess()) 00223 { 00224 if(isSet) brN--; //liangyt: if fail to retrieve this branch, this will be not a effective branch. 00225 //entryN++; //liangyt: this is the second method 00226 if(temp>0) temp--; //temp > 0 means recording effective branch number. 00227 return sc; 00228 } 00229 m_branchNumbers->Set(nb+1); 00230 m_branchNumbers->AddAt(branchNumber,nb); 00231 00232 } 00233 } 00234 00236 if(addEntryEachFile&&(m_evtsel->getRecId()>entryBefore)){ // for a new file, add entry for ONLY one time. 00237 entryBefore += m_rootInterface->getEntries(); 00238 addEntryEachFile = false; 00239 } 00240 00241 if(lastBrn == brN && isSet ){ 00242 branchN = brN; 00243 isSet=false; 00244 } 00245 00246 if(isSet==false) log << MSG::INFO <<" 1st method set event as : "<<int(entryN/branchN)<<endreq; 00247 if(isSet==false) raddr->setEntryNr(int(entryN/branchN));//former method, keep it to be backup. 00248 if(m_evtsel) log << MSG::INFO <<" event id = "<<m_evtsel->getRecId()<<endreq; 00249 00250 00251 int eventID = 0; 00252 if(entryBefore > m_evtsel->getRecId()) 00253 eventID = m_evtsel->getRecId() + m_rootInterface->getEntries() - entryBefore; 00254 else if(entryBefore == m_evtsel->getRecId()) eventID = 0; 00255 else log << MSG::ERROR <<"eventId error!!!"<<endreq; 00256 00257 log << MSG::INFO <<" 2nd method set event as : "<<eventID<<endreq; 00258 00259 if(m_evtsel) raddr->setEntryNr(eventID); 00260 00261 //add dengzy 00262 if(m_rootInterface->getSelectFromTag()!=0) 00263 { 00264 if(m_evtsel) 00265 raddr->setEntryNr( m_evtsel->getRecId() ); 00266 }//end of add by dengzy 00267 00268 // read branch 00269 00270 if (m_branchNumbers->GetSize()>0) { 00271 int nbtot=0,nb; 00272 for (int ib=0;ib<m_branchNumbers->GetSize();ib++) { 00273 //sc=m_rootInterface->getBranchEntry(m_branchNumbers->At(ib),raddr->getEntryNr(),nb); 00274 //change to get branch entry with addr(set address for each entry) liangyt 00275 sc=m_rootInterface->getBranchEntry(m_branchNumbers->At(ib),raddr->getEntryNr(),m_adresses[ib],nb); 00276 if (sc.isFailure()) { 00277 log << MSG::ERROR << "Could not read branch " << raddr->getBranchname(nb) << endreq; 00278 return sc; 00279 } 00280 nbtot+=nb; 00281 } 00282 } 00283 00284 else { // get ROOT object 00285 if (CLID_top) { 00286 IConverter *p=conversionSvc()->converter(CLID_top); 00287 RootEventBaseCnv *cnv=dynamic_cast<RootEventBaseCnv *>(p); 00288 if (!cnv) { 00289 log << MSG::ERROR << "Could not downcast to RootEventBaseCnv " << endreq; 00290 return StatusCode::FAILURE; 00291 } 00292 m_objRead=cnv->getReadObject(); 00293 } 00294 } 00295 00296 //do concrete transformation in derived converter 00297 sc = TObjectToDataObject(refpObject); 00298 if (sc.isFailure()) { 00299 log << MSG::ERROR << "Could not transform object" << endreq; 00300 return sc; 00301 } 00302 00303 // verify if we have to register 00304 IRegistry* ent = addr->registry(); 00305 if ( ent == 0) { 00306 sc=m_eds->registerObject(raddr->getPath(),refpObject); 00307 if (sc.isFailure()) { 00308 log << MSG::ERROR << "Could not register object " << raddr->getPath()<<" status "<<sc.getCode()<<endreq; 00309 } 00310 // } 00311 } 00312 00313 entryN++; 00314 return StatusCode::SUCCESS; 00315 }
StatusCode RootEventBaseCnv::createRep | ( | DataObject * | pObject, | |
IOpaqueAddress *& | refpAddress | |||
) | [virtual, inherited] |
Convert the transient object to the requested representation.
Definition at line 78 of file RootEventBaseCnv.cxx.
References RootCnvSvc::createAddress(), RootEventBaseCnv::DataObjectToTObject(), calibUtil::ERROR, RootEventBaseCnv::m_cnvSvc, and msgSvc().
Referenced by TrigDataCnv::DataObjectToTObject(), RecZddChannelCnv::DataObjectToTObject(), RecTofTrackCnv::DataObjectToTObject(), RecMucTrackCnv::DataObjectToTObject(), RecMdcTrackCnv::DataObjectToTObject(), RecMdcKalTrackCnv::DataObjectToTObject(), RecMdcKalHelixSegCnv::DataObjectToTObject(), RecMdcHitCnv::DataObjectToTObject(), RecMdcDedxHitCnv::DataObjectToTObject(), RecMdcDedxCnv::DataObjectToTObject(), RecExtTrackCnv::DataObjectToTObject(), RecEvTimeCnv::DataObjectToTObject(), RecEmcShowerCnv::DataObjectToTObject(), RecEmcHitCnv::DataObjectToTObject(), RecEmcClusterCnv::DataObjectToTObject(), TofMcHitCnv::DataObjectToTObject(), MucMcHitCnv::DataObjectToTObject(), MdcMcHitCnv::DataObjectToTObject(), McParticleCnv::DataObjectToTObject(), EmcMcHitCnv::DataObjectToTObject(), HltRawCnv::DataObjectToTObject(), HltInfCnv::DataObjectToTObject(), DstHltInfCnv::DataObjectToTObject(), EvtRecVeeVertexCnv::DataObjectToTObject(), DataObjectToTObject(), EvtRecPrimaryVertexCnv::DataObjectToTObject(), EvtRecPi0Cnv::DataObjectToTObject(), EvtRecEventCnv::DataObjectToTObject(), EvtRecEtaToGGCnv::DataObjectToTObject(), EvtRecDTagCnv::DataObjectToTObject(), TofTrackCnv::DataObjectToTObject(), MucTrackCnv::DataObjectToTObject(), MdcTrackCnv::DataObjectToTObject(), MdcKalTrackCnv::DataObjectToTObject(), MdcDedxCnv::DataObjectToTObject(), ExtTrackCnv::DataObjectToTObject(), EmcTrackCnv::DataObjectToTObject(), TofDigiCnv::DataObjectToTObject(), MucDigiCnv::DataObjectToTObject(), MdcDigiCnv::DataObjectToTObject(), LumiDigiCnv::DataObjectToTObject(), and EmcDigiCnv::DataObjectToTObject().
00079 { 00080 // Purpose and Method: Convert the transient object to ROOT 00081 00082 MsgStream log(msgSvc(), "RootEventBaseCnv"); 00083 00084 StatusCode sc= StatusCode::SUCCESS; 00085 // get the corresponding address 00086 RootAddress *rootaddr; 00087 sc=m_cnvSvc->createAddress(obj,addr); 00088 00089 rootaddr = dynamic_cast<RootAddress *>(addr); 00090 00091 if (sc.isFailure() || !rootaddr ) { 00092 log << MSG::ERROR << "Could not create address for clid " <<obj->clID()<<", objname "<<obj->name()<<endreq; 00093 return StatusCode::FAILURE; 00094 } 00095 00096 // do the real conversion in the derived converter 00097 sc = DataObjectToTObject(obj,rootaddr); 00098 00099 delete addr; 00100 addr = NULL; 00101 00102 if (sc.isFailure()) { 00103 log << MSG::ERROR << "Could not transform object" << endreq; 00104 return sc; 00105 } 00106 00107 return StatusCode::SUCCESS; 00108 }
StatusCode EvtRecTrackCnv::DataObjectToTObject | ( | DataObject * | obj, | |
RootAddress * | addr | |||
) | [protected, virtual] |
transformation to root
Implements RootEventBaseCnv.
Definition at line 324 of file EvtRecTrackCnv.cxx.
References TEvtRecObject::addEvtRecTrack(), TEvtRecTrack::addTofTrackId(), TEvtRecObject::clearEvtRecTrackCol(), RootEventBaseCnv::createRep(), Bes_Common::DEBUG, calibUtil::ERROR, EventModel::EvtRec::Event, EventModel::EvtRec::EvtRecTrackCol, Bes_Common::FATAL, RootCnvSvc::getEvtRecCnv(), TEvtRecObject::getEvtRecTrackCol(), EvtRecCnv::getWriteObject(), genRecEmupikp::i, Bes_Common::INFO, RootEventBaseCnv::m_cnvSvc, RootEventBaseCnv::m_eds, m_evtRecTrackCol, msgSvc(), EventModel::Recon::RecEmcShowerCol, EventModel::Recon::RecExtTrackCol, EventModel::Recon::RecMdcDedxCol, EventModel::Recon::RecMdcKalTrackCol, EventModel::Recon::RecMdcTrackCol, EventModel::Recon::RecMucTrackCol, EventModel::Recon::RecTofTrackCol, TEvtRecTrack::setEmcShowerId(), TEvtRecTrack::setExtTrackId(), TEvtRecTrack::setMdcDedxId(), TEvtRecTrack::setMdcKalTrackId(), TEvtRecTrack::setMdcTrackId(), TEvtRecTrack::setMucTrackId(), TEvtRecTrack::setPartId(), TEvtRecTrack::setQuality(), and TEvtRecTrack::setTrackId().
00324 { 00325 MsgStream log(msgSvc(), "EvtRecTrackCnv"); 00326 log << MSG::DEBUG << "EvtRecTrackCnv::DataObjectToTObject" << endreq; 00327 00328 EvtRecTrackCol* evtRecTrackCol = dynamic_cast<EvtRecTrackCol*> (obj); 00329 if ( ! evtRecTrackCol ) { 00330 log << MSG::ERROR << "Could not downcast to EvtRecTrackCol" << endreq; 00331 return StatusCode::FAILURE; 00332 } 00333 00334 DataObject* evt = NULL; 00335 StatusCode sc = m_eds->findObject(EventModel::EvtRec::Event, evt); 00336 if ( sc.isFailure() ) { 00337 log << MSG::ERROR << "Could not get EvtRecObject in TDS" << endreq; 00338 return StatusCode::FAILURE; 00339 } 00340 EvtRecObject* devtTds = dynamic_cast<EvtRecObject*> (evt); 00341 if ( ! devtTds ) { 00342 log << MSG::ERROR << "EvtRecTrackCnv: Could not downcast to TDS EvtRecObject" << endreq; 00343 } 00344 00345 IOpaqueAddress *addr; 00346 m_cnvSvc->getEvtRecCnv()->createRep(evt, addr); 00347 TEvtRecObject* recEvt = m_cnvSvc->getEvtRecCnv()->getWriteObject(); 00348 00349 const TObjArray* m_evtRecTrackCol = recEvt->getEvtRecTrackCol(); 00350 if ( ! m_evtRecTrackCol ) return StatusCode::SUCCESS; 00351 00352 IDataProviderSvc* dataSvc = 0; 00353 sc = serviceLocator()->getService("EventDataSvc", 00354 IDataProviderSvc::interfaceID(), (IInterface*&)dataSvc); 00355 if ( sc.isFailure() ) { 00356 log << MSG::FATAL << "Could not get EventDataSvc in EvtRecTrackCnv" << endreq; 00357 return sc; 00358 } 00359 00360 RecMdcTrackCol::iterator mdcTrackColbegin, mdcTrackColend; 00361 RecMdcKalTrackCol::iterator mdcKalTrackColbegin, mdcKalTrackColend; 00362 RecMdcDedxCol::iterator mdcDedxColbegin, mdcDedxColend; 00363 RecExtTrackCol::iterator extTrackColbegin, extTrackColend; 00364 RecTofTrackCol::iterator tofTrackColbegin, tofTrackColend; 00365 RecEmcShowerCol::iterator emcShowerColbegin, emcShowerColend; 00366 RecMucTrackCol::iterator mucTrackColbegin, mucTrackColend; 00367 00368 SmartDataPtr<RecMdcTrackCol> mdcTrackCol(dataSvc, EventModel::Recon::RecMdcTrackCol); 00369 if ( ! mdcTrackCol ) { 00370 log << MSG::INFO << "Could not find RecMdcTrackCol" << endreq; 00371 } 00372 else { 00373 mdcTrackColbegin = mdcTrackCol->begin(); 00374 mdcTrackColend = mdcTrackCol->end(); 00375 } 00376 00377 SmartDataPtr<RecMdcKalTrackCol> mdcKalTrackCol(dataSvc, EventModel::Recon::RecMdcKalTrackCol); 00378 if ( ! mdcKalTrackCol ) { 00379 log << MSG::INFO << "Could not find RecMdcKalTrackCol" << endreq; 00380 } 00381 else { 00382 mdcKalTrackColbegin = mdcKalTrackCol->begin(); 00383 mdcKalTrackColend = mdcKalTrackCol->end(); 00384 } 00385 00386 SmartDataPtr<RecMdcDedxCol> mdcDedxCol(dataSvc, EventModel::Recon::RecMdcDedxCol); 00387 if ( ! mdcDedxCol ) { 00388 log << MSG::INFO << "Could not find RecMdcDedxCol" << endreq; 00389 } 00390 else { 00391 mdcDedxColbegin = mdcDedxCol->begin(); 00392 mdcDedxColend = mdcDedxCol->end(); 00393 } 00394 00395 SmartDataPtr<RecExtTrackCol> extTrackCol(dataSvc, EventModel::Recon::RecExtTrackCol); 00396 if ( ! extTrackCol ) { 00397 log << MSG::INFO << "Could not find RecExtTrackCol" << endreq; 00398 } 00399 else { 00400 extTrackColbegin = extTrackCol->begin(); 00401 extTrackColend = extTrackCol->end(); 00402 } 00403 00404 SmartDataPtr<RecTofTrackCol> tofTrackCol(dataSvc, EventModel::Recon::RecTofTrackCol); 00405 if ( ! tofTrackCol ) { 00406 log << MSG::INFO << "Could not find RecTofTrackCol" << endreq; 00407 } 00408 else { 00409 tofTrackColbegin = tofTrackCol->begin(); 00410 tofTrackColend = tofTrackCol->end(); 00411 } 00412 00413 SmartDataPtr<RecEmcShowerCol> emcShowerCol(dataSvc, EventModel::Recon::RecEmcShowerCol); 00414 if ( ! emcShowerCol ) { 00415 log << MSG::INFO << "Could not find RecEmcShowerCol" << endreq; 00416 } 00417 else { 00418 emcShowerColbegin = emcShowerCol->begin(); 00419 emcShowerColend = emcShowerCol->end(); 00420 } 00421 00422 SmartDataPtr<RecMucTrackCol> mucTrackCol(dataSvc, EventModel::Recon::RecMucTrackCol); 00423 if ( ! mucTrackCol ) { 00424 log << MSG::INFO << "Could not find RecMucTrackCol" << endreq; 00425 } 00426 else { 00427 mucTrackColbegin = mucTrackCol->begin(); 00428 mucTrackColend = mucTrackCol->end(); 00429 } 00430 00431 // convert 00432 recEvt->clearEvtRecTrackCol(); 00433 EvtRecTrackCol::const_iterator evtRecTrack = evtRecTrackCol->begin(); 00434 00435 for ( ; evtRecTrack != evtRecTrackCol->end(); evtRecTrack++) { 00436 EvtRecTrack* ptr = *evtRecTrack; 00437 TEvtRecTrack* evtRecTrackRoot = new TEvtRecTrack(); 00438 // set ... 00439 evtRecTrackRoot->setTrackId( ptr->trackId() ); 00440 evtRecTrackRoot->setPartId( ptr->partId() ); 00441 evtRecTrackRoot->setQuality( ptr->quality() ); 00442 00443 if ( ptr->isMdcTrackValid() ) { 00444 RecMdcTrackCol::iterator it = find(mdcTrackColbegin, mdcTrackColend, ptr->mdcTrack()); 00445 evtRecTrackRoot->setMdcTrackId( it - mdcTrackColbegin ); 00446 } 00447 if ( ptr->isMdcKalTrackValid() ) { 00448 RecMdcKalTrackCol::iterator it = find(mdcKalTrackColbegin, mdcKalTrackColend, ptr->mdcKalTrack()); 00449 evtRecTrackRoot->setMdcKalTrackId( it - mdcKalTrackColbegin ); 00450 } 00451 if ( ptr->isMdcDedxValid() ) { 00452 RecMdcDedxCol::iterator it = find(mdcDedxColbegin, mdcDedxColend, ptr->mdcDedx()); 00453 evtRecTrackRoot->setMdcDedxId( it - mdcDedxColbegin ); 00454 } 00455 if ( ptr->isExtTrackValid() ) { 00456 RecExtTrackCol::iterator it = find(extTrackColbegin, extTrackColend, ptr->extTrack()); 00457 evtRecTrackRoot->setExtTrackId( it - extTrackColbegin ); 00458 } 00459 if ( ptr->isTofTrackValid() ) { 00460 SmartRefVector<RecTofTrack> tofTrackVec = ptr->tofTrack(); 00461 for ( unsigned int i = 0; i < tofTrackVec.size(); i++ ) { 00462 RecTofTrackCol::iterator it = find(tofTrackColbegin, tofTrackColend, tofTrackVec[i]); 00463 evtRecTrackRoot->addTofTrackId( it - tofTrackColbegin ); 00464 } 00465 } 00466 if ( ptr->isEmcShowerValid() ) { 00467 RecEmcShowerCol::iterator it = find(emcShowerColbegin, emcShowerColend, ptr->emcShower()); 00468 evtRecTrackRoot->setEmcShowerId( it - emcShowerColbegin ); 00469 } 00470 if ( ptr->isMucTrackValid() ) { 00471 RecMucTrackCol::iterator it = find(mucTrackColbegin, mucTrackColend, ptr->mucTrack()); 00472 evtRecTrackRoot->setMucTrackId( it - mucTrackColbegin ); 00473 } 00474 00475 recEvt->addEvtRecTrack(evtRecTrackRoot); 00476 } 00477 00478 return StatusCode::SUCCESS; 00479 }
void RootEventBaseCnv::declareObject | ( | const std::string & | fullPath, | |
const CLID & | clid, | |||
const std::string & | treename, | |||
const std::string & | branchname | |||
) | [inherited] |
Store TDS path to link a particular converter to an object on the TDS.
Definition at line 150 of file RootEventBaseCnv.cxx.
References RootEventBaseCnv::m_leaves.
Referenced by RecMucRecHitCnv::RecMucRecHitCnv().
00151 { 00152 // Purpose and Method: Save the path on the TDS, treename, pathname in the m_leaves vector, 00153 // corresponding to the DataObject that the converter handles. 00154 m_leaves.push_back(RootCnvSvc::Leaf(path, cl,treename,branchname)); 00155 }
StatusCode RootEventBaseCnv::fillObjRefs | ( | IOpaqueAddress * | pAddress, | |
DataObject * | pObject | |||
) | [virtual, inherited] |
Resolve the references of the converted object.
Definition at line 117 of file RootEventBaseCnv.cxx.
References msgSvc().
00118 { 00119 // Purpose and Method: Resolve the references of the converted object. 00120 // It is expected that derived classes will override this method. 00121 MsgStream log(msgSvc(), "RootEventBaseCnv"); 00122 return StatusCode::SUCCESS; 00123 }
StatusCode RootEventBaseCnv::fillRepRefs | ( | IOpaqueAddress * | pAddress, | |
DataObject * | pObject | |||
) | [virtual, inherited] |
Resolve the references of the converted object.
Definition at line 109 of file RootEventBaseCnv.cxx.
References msgSvc().
00110 { 00111 // Purpose and Method: Resolve the references of the converted object. 00112 // It is expected that derived classes will override this method. 00113 MsgStream log(msgSvc(), "RootEventBaseCnv"); 00114 return StatusCode::SUCCESS; 00115 }
StatusCode RootEventBaseCnv::finalize | ( | ) | [virtual, inherited] |
Definition at line 142 of file RootEventBaseCnv.cxx.
References RootEventBaseCnv::m_cnvSvc.
00142 { 00143 if ( m_cnvSvc ) { 00144 m_cnvSvc->release(); 00145 m_cnvSvc=0; 00146 } 00147 return Converter::finalize(); 00148 }
TObject* RootEventBaseCnv::getReadObject | ( | ) | const [inline, inherited] |
get the object to be read
Definition at line 125 of file RootEventBaseCnv.h.
References RootEventBaseCnv::m_objRead.
Referenced by RootEventBaseCnv::createObj().
00125 { return m_objRead;}
StatusCode RootEventBaseCnv::initialize | ( | ) | [virtual, inherited] |
Reimplemented in DigiCnv, DstCnv, EvtHeaderCnv, EvtNavigatorCnv, EvtRecCnv, HltCnv, McCnv, RecTrackCnv, and TrigCnv.
Definition at line 126 of file RootEventBaseCnv.cxx.
References IID_IRootCnvSvc, and RootEventBaseCnv::m_cnvSvc.
Referenced by TrigCnv::initialize(), RecTrackCnv::initialize(), McCnv::initialize(), HltCnv::initialize(), EvtRecCnv::initialize(), EvtNavigatorCnv::initialize(), EvtHeaderCnv::initialize(), DstCnv::initialize(), and DigiCnv::initialize().
00126 { 00127 00128 StatusCode status = Converter::initialize(); 00129 00130 if ( status.isSuccess() ) { 00131 IService* isvc = 0; 00132 status = serviceLocator()->service("RootCnvSvc", isvc, false); 00133 if ( !status.isSuccess() ) status = serviceLocator()->service("EventCnvSvc", isvc, true); 00134 if ( status.isSuccess() ) { 00135 status = isvc->queryInterface(IID_IRootCnvSvc, (void**)&m_cnvSvc); 00136 } 00137 } 00138 00139 return status; 00140 }
destination* Converter< Ty1, Ty2 >::operator | ( | const source & | ) | const [inline, inherited] |
virtual long RootEventBaseCnv::repSvcType | ( | ) | const [inline, virtual, inherited] |
Definition at line 88 of file RootEventBaseCnv.h.
References ROOT_StorageType.
00088 { 00089 return ROOT_StorageType; 00090 }
static const unsigned char RootEventBaseCnv::storageType | ( | ) | [inline, static, inherited] |
Storage type and class ID.
Definition at line 84 of file RootEventBaseCnv.h.
References ROOT_StorageType.
00084 { 00085 return ROOT_StorageType; 00086 }
StatusCode EvtRecTrackCnv::TObjectToDataObject | ( | DataObject *& | obj | ) | [protected, virtual] |
transformation from root
Implements RootEventBaseCnv.
Definition at line 23 of file EvtRecTrackCnv.cxx.
References EvtRecTrack::addTofTrack(), Bes_Common::DEBUG, TEvtRecTrack::emcShowerId(), EventModel::EvtRec::EvtRecTrackCol, TEvtRecTrack::extTrackId(), Bes_Common::FATAL, genRecEmupikp::i, Bes_Common::INFO, m_common, m_evtRecTrackCol, commonData::m_rootEvtRecTrackMap, TEvtRecTrack::mdcDedxId(), TEvtRecTrack::mdcKalTrackId(), TEvtRecTrack::mdcTrackId(), msgSvc(), TEvtRecTrack::mucTrackId(), TEvtRecTrack::partId(), TEvtRecTrack::quality(), EventModel::Recon::RecEmcShowerCol, EventModel::Recon::RecExtTrackCol, EventModel::Recon::RecMdcDedxCol, EventModel::Recon::RecMdcKalTrackCol, EventModel::Recon::RecMdcTrackCol, EventModel::Recon::RecMucTrackCol, EventModel::Recon::RecTofTrackCol, EvtRecTrack::setEmcShower(), EvtRecTrack::setExtTrack(), EvtRecTrack::setMdcDedx(), EvtRecTrack::setMdcKalTrack(), EvtRecTrack::setMdcTrack(), EvtRecTrack::setMucTrack(), EvtRecTrack::setPartId(), EvtRecTrack::setQuality(), EvtRecTrack::setTrackId(), TEvtRecTrack::tofTrackIds(), and TEvtRecTrack::trackId().
00023 { 00024 // creation of TDS object from root object 00025 MsgStream log(msgSvc(), "EvtRecTrackCnv"); 00026 log << MSG::DEBUG << "EvtRecTrackCnv::TObjectToDataObject" << endreq; 00027 00028 // create the TDS location for the EvtRecTrack Collection 00029 EvtRecTrackCol* evtRecTrackCol = new EvtRecTrackCol; 00030 refpObject = evtRecTrackCol; 00031 00032 if ( ! m_evtRecTrackCol ) return StatusCode::SUCCESS; 00033 00034 IDataProviderSvc* dataSvc = 0; 00035 StatusCode sc = serviceLocator()->getService("EventDataSvc", 00036 IDataProviderSvc::interfaceID(), (IInterface*&)dataSvc); 00037 if ( sc.isFailure() ) { 00038 log << MSG::FATAL << "Could not get EventDataSvc in EvtRecTrackCnv" << endreq; 00039 return sc; 00040 } 00041 00042 /*SmartDataPtr<RecMdcTrackCol> mdcTrackCol(dataSvc, EventModel::Recon::RecMdcTrackCol); 00043 if ( ! mdcTrackCol ) { 00044 log << MSG::INFO << "Could not find RecMdcTrackCol" << endreq; 00045 } 00046 00047 SmartDataPtr<RecMdcKalTrackCol> mdcKalTrackCol(dataSvc, EventModel::Recon::RecMdcKalTrackCol); 00048 if ( ! mdcKalTrackCol ) { 00049 log << MSG::INFO << "Could not find RecMdcKalTrackCol" << endreq; 00050 } 00051 00052 SmartDataPtr<RecMdcDedxCol> mdcDedxCol(dataSvc, EventModel::Recon::RecMdcDedxCol); 00053 if ( ! mdcDedxCol ) { 00054 log << MSG::INFO << "Could not find RecMdcDedxCol" << endreq; 00055 } 00056 00057 SmartDataPtr<RecExtTrackCol> extTrackCol(dataSvc, EventModel::Recon::RecExtTrackCol); 00058 if ( ! extTrackCol ) { 00059 log << MSG::INFO << "Could not find RecExtTrackCol" << endreq; 00060 } 00061 00062 SmartDataPtr<RecTofTrackCol> tofTrackCol(dataSvc, EventModel::Recon::RecTofTrackCol); 00063 if ( ! tofTrackCol ) { 00064 log << MSG::INFO << "Could not find RecTofTrackCol" << endreq; 00065 } 00066 00067 SmartDataPtr<RecEmcShowerCol> emcShowerCol(dataSvc, EventModel::Recon::RecEmcShowerCol); 00068 if ( ! emcShowerCol ) { 00069 log << MSG::INFO << "Could not find RecEmcShowerCol" << endreq; 00070 } 00071 00072 SmartDataPtr<RecMucTrackCol> mucTrackCol(dataSvc, EventModel::Recon::RecMucTrackCol); 00073 if ( ! mucTrackCol ) { 00074 log << MSG::INFO << "Could not find RecMucTrackCol" << endreq; 00075 }*/ 00076 00077 //-----------------Dst to Rec convert in case of no Rec data in TDS 00078 int trackID; 00079 00080 // Retrieve Mdc Track 00081 SmartDataPtr<RecMdcTrackCol> mdcTrackCol(dataSvc, EventModel::Recon::RecMdcTrackCol); 00082 if(!mdcTrackCol) 00083 { 00084 log << MSG::INFO << "Could not find RecMdcTrackCol" << endreq; 00085 SmartDataPtr<DstMdcTrackCol> dstMdcTrackCol(dataSvc,"/Event/Dst/DstMdcTrackCol"); 00086 if (!dstMdcTrackCol) { 00087 log << MSG::INFO << "Could not find DstMdcTrackCol" << endreq; 00088 } 00089 else { 00090 RecMdcTrackCol* mdcTrackCol = new RecMdcTrackCol(); 00091 DstMdcTrackCol::iterator iter_mdc = dstMdcTrackCol->begin(); 00092 trackID = 0; 00093 for (;iter_mdc != dstMdcTrackCol->end(); iter_mdc++, trackID++) { 00094 RecMdcTrack* recMdcTrack = new RecMdcTrack(); 00095 *recMdcTrack = **iter_mdc; 00096 (*mdcTrackCol).push_back(recMdcTrack); 00097 log << MSG::INFO 00098 << " Mdc Track ID = " << trackID 00099 << " Mdc Track Nster = " << (*iter_mdc)->nster() 00100 << endreq; 00101 } 00102 sc = dataSvc->registerObject(EventModel::Recon::RecMdcTrackCol,mdcTrackCol); 00103 } 00104 } 00105 00106 // Retrieve MdcKal track 00107 SmartDataPtr<RecMdcKalTrackCol> mdcKalTrackCol(dataSvc, EventModel::Recon::RecMdcKalTrackCol); 00108 if (!mdcKalTrackCol) { 00109 log << MSG::INFO << "Could not find RecMdcKalTrackCol" << endreq; 00110 SmartDataPtr<DstMdcKalTrackCol> dstMdcKalTrackCol(dataSvc,"/Event/Dst/DstMdcKalTrackCol"); 00111 if(!dstMdcKalTrackCol) { 00112 log << MSG::INFO << "Could not find DstMdcKalTrackCol" << endreq; 00113 } 00114 else { 00115 RecMdcKalTrackCol* mdcKalTrackCol = new RecMdcKalTrackCol(); 00116 DstMdcKalTrackCol::iterator iter_mdc = dstMdcKalTrackCol->begin(); 00117 trackID = 0; 00118 for (;iter_mdc != dstMdcKalTrackCol->end(); iter_mdc++, trackID++) { 00119 RecMdcKalTrack* recMdcKalTrack = new RecMdcKalTrack(); 00120 *recMdcKalTrack = **iter_mdc; 00121 (*mdcKalTrackCol).push_back(recMdcKalTrack); 00122 log << MSG::INFO 00123 << " MdcKalTrack ID = " << trackID 00124 << " MdcKalTrack Nster = " << (*iter_mdc)->nster() 00125 << " MdcKalTrack poca = " << (*iter_mdc)->poca() 00126 << endreq; 00127 } 00128 sc = dataSvc->registerObject(EventModel::Recon::RecMdcKalTrackCol, mdcKalTrackCol); 00129 } 00130 } 00131 00132 // Retrieve MdcDedx 00133 SmartDataPtr<RecMdcDedxCol> mdcDedxCol(dataSvc, EventModel::Recon::RecMdcDedxCol); 00134 if (!mdcDedxCol) { 00135 log <<MSG::INFO << "Could not find RecMdcDedxCol" << endreq; 00136 SmartDataPtr<DstMdcDedxCol> dstMdcDedxCol(dataSvc,"/Event/Dst/DstMdcDedxCol"); 00137 if(!dstMdcDedxCol) { 00138 log <<MSG::INFO << "Could not find DstMdcDedxCol" << endreq; 00139 } 00140 else { 00141 RecMdcDedxCol* mdcDedxCol = new RecMdcDedxCol(); 00142 DstMdcDedxCol::iterator iter_mdc = dstMdcDedxCol->begin(); 00143 trackID=0; 00144 for (;iter_mdc != dstMdcDedxCol->end(); iter_mdc++, trackID++) { 00145 RecMdcDedx* recMdcDedx = new RecMdcDedx(); 00146 *recMdcDedx= **iter_mdc; 00147 (*mdcDedxCol).push_back(recMdcDedx); 00148 log << MSG::INFO 00149 << " MdcDedx ID = " << trackID 00150 << " MdcDedx " 00151 << endreq; 00152 } 00153 sc = dataSvc->registerObject(EventModel::Recon::RecMdcDedxCol, mdcDedxCol); 00154 } 00155 } 00156 00157 // Retrieve Ext track 00158 SmartDataPtr<RecExtTrackCol> extTrackCol(dataSvc, EventModel::Recon::RecExtTrackCol); 00159 if (!extTrackCol) { 00160 log <<MSG::INFO << "Could not find RecExtTrackCol" << endreq; 00161 SmartDataPtr<DstExtTrackCol> dstExtTrackCol(dataSvc,"/Event/Dst/DstExtTrackCol"); 00162 if(!dstExtTrackCol) { 00163 log <<MSG::INFO << "Could not find DstExtTrackCol" << endreq; 00164 } 00165 else { 00166 RecExtTrackCol* extTrackCol = new RecExtTrackCol(); 00167 DstExtTrackCol::iterator iter_ext = dstExtTrackCol->begin(); 00168 trackID=0; 00169 for (;iter_ext != dstExtTrackCol->end(); iter_ext++, trackID++) { 00170 RecExtTrack* recExtTrack = new RecExtTrack(); 00171 *recExtTrack = **iter_ext; 00172 (*extTrackCol).push_back(recExtTrack); 00173 log << MSG::INFO 00174 << " ExtTrack ID = " << trackID 00175 << endreq; 00176 } 00177 sc = dataSvc->registerObject(EventModel::Recon::RecExtTrackCol, extTrackCol); 00178 } 00179 } 00180 00181 // Retrieve Tof Track 00182 SmartDataPtr<RecTofTrackCol> tofTrackCol(dataSvc, EventModel::Recon::RecTofTrackCol); 00183 if ( !tofTrackCol ) { 00184 log << MSG::INFO << "Could not find TofTrackCol" << endreq; 00185 SmartDataPtr<DstTofTrackCol> dstTofTrackCol(dataSvc,"/Event/Dst/DstTofTrackCol"); 00186 if(!dstTofTrackCol) { 00187 log << MSG::INFO << "Could not find DstTofTrackCol" << endreq; 00188 } 00189 else { 00190 RecTofTrackCol* tofTrackCol = new RecTofTrackCol(); 00191 DstTofTrackCol::iterator iter_tof = dstTofTrackCol->begin(); 00192 for (;iter_tof != dstTofTrackCol->end(); iter_tof++) { 00193 RecTofTrack* recTofTrack = new RecTofTrack(); 00194 *recTofTrack = **iter_tof; 00195 (*tofTrackCol).push_back(recTofTrack); 00196 log << MSG::INFO 00197 << "Tof Track ID = " << (*iter_tof)->tofTrackID() 00198 << " Track ID = " << (*iter_tof)->trackID() 00199 << " Tof Counter ID = "<<(*iter_tof)->tofID() 00200 << " Quality = "<< (*iter_tof)->quality() 00201 << endreq; 00202 } 00203 sc = dataSvc->registerObject(EventModel::Recon::RecTofTrackCol, tofTrackCol); 00204 } 00205 } 00206 00207 00208 // Retrieve Emc shower 00209 SmartDataPtr<RecEmcShowerCol> emcShowerCol(dataSvc, EventModel::Recon::RecEmcShowerCol); 00210 if (!emcShowerCol) { 00211 log << MSG::INFO << "Could not find RecEmcShowerCol" << endreq; 00212 SmartDataPtr<DstEmcShowerCol> dstEmcShowerCol(dataSvc,"/Event/Dst/DstEmcShowerCol"); 00213 if(!dstEmcShowerCol) { 00214 log << MSG::INFO << "Could not find DstEmcShowerCol" << endreq; 00215 } 00216 else { 00217 RecEmcShowerCol* emcShowerCol = new RecEmcShowerCol(); 00218 DstEmcShowerCol::iterator iter_emc = dstEmcShowerCol->begin(); 00219 trackID=0; 00220 for (;iter_emc != dstEmcShowerCol->end(); iter_emc++, trackID++) { 00221 RecEmcShower* recEmcShower = new RecEmcShower(); 00222 *recEmcShower = **iter_emc; 00223 (*emcShowerCol).push_back(recEmcShower); 00224 log << MSG::INFO 00225 << " EmcShower ID = " << trackID 00226 << " EmcShower energy = " << (*iter_emc)->energy() 00227 << endreq; 00228 } 00229 sc = dataSvc->registerObject(EventModel::Recon::RecEmcShowerCol, emcShowerCol); 00230 } 00231 } 00232 00233 // Retrieve Muc Track 00234 SmartDataPtr<RecMucTrackCol> mucTrackCol(dataSvc, EventModel::Recon::RecMucTrackCol); 00235 if (!mucTrackCol) { 00236 log <<MSG::INFO << "Could not find RecMucTrackCol" << endreq; 00237 SmartDataPtr<DstMucTrackCol> dstMucTrackCol(dataSvc,"/Event/Dst/DstMucTrackCol"); 00238 if(!dstMucTrackCol) { 00239 log <<MSG::INFO << "Could not find DstMucTrackCol" << endreq; 00240 } 00241 else { 00242 RecMucTrackCol* mucTrackCol = new RecMucTrackCol(); 00243 DstMucTrackCol::iterator iter_muc = dstMucTrackCol->begin(); 00244 trackID=0; 00245 for (;iter_muc != dstMucTrackCol->end(); iter_muc++, trackID++) { 00246 RecMucTrack* recMucTrack = new RecMucTrack(); 00247 *recMucTrack = **iter_muc; 00248 (*mucTrackCol).push_back(recMucTrack); 00249 log << MSG::INFO 00250 << " MucTrack ID = "<< trackID 00251 <<endreq; 00252 } 00253 sc = dataSvc->registerObject(EventModel::Recon::RecMucTrackCol, mucTrackCol); 00254 } 00255 } 00256 00257 // convert 00258 TIter evtRecTrackIter(m_evtRecTrackCol); 00259 TEvtRecTrack* evtRecTrackRoot = 0; 00260 while ( (evtRecTrackRoot = (TEvtRecTrack*)evtRecTrackIter.Next() ) ) { 00261 EvtRecTrack* evtRecTrack = new EvtRecTrack(); 00262 m_common.m_rootEvtRecTrackMap[evtRecTrackRoot] = evtRecTrack; 00263 // set .... 00264 evtRecTrack->setTrackId( evtRecTrackRoot->trackId() ); 00265 evtRecTrack->setPartId( evtRecTrackRoot->partId() ); 00266 evtRecTrack->setQuality( evtRecTrackRoot->quality() ); 00267 00268 int mdcTrackId = evtRecTrackRoot->mdcTrackId(); 00269 if ( mdcTrackId >= 0 ) { 00270 evtRecTrack->setMdcTrack( 00271 dynamic_cast<RecMdcTrack*>(mdcTrackCol->containedObject(mdcTrackId)) 00272 ); 00273 } 00274 00275 int mdcKalTrackId = evtRecTrackRoot->mdcKalTrackId(); 00276 if ( mdcKalTrackId >= 0 ) { 00277 evtRecTrack->setMdcKalTrack( 00278 dynamic_cast<RecMdcKalTrack*>(mdcKalTrackCol->containedObject(mdcKalTrackId)) 00279 ); 00280 } 00281 00282 int mdcDedxId = evtRecTrackRoot->mdcDedxId(); 00283 if ( mdcDedxId >= 0 ) { 00284 evtRecTrack->setMdcDedx( 00285 dynamic_cast<RecMdcDedx*>(mdcDedxCol->containedObject(mdcDedxId)) 00286 ); 00287 } 00288 00289 int extTrackId = evtRecTrackRoot->extTrackId(); 00290 if ( extTrackId >= 0 ) { 00291 evtRecTrack->setExtTrack( 00292 dynamic_cast<RecExtTrack*>(extTrackCol->containedObject(extTrackId)) 00293 ); 00294 } 00295 00296 const std::vector<int>& tofTrackIds = evtRecTrackRoot->tofTrackIds(); 00297 for ( unsigned int i = 0; i < tofTrackIds.size(); i++) { 00298 RecTofTrack* tofTrack = dynamic_cast<RecTofTrack*>(tofTrackCol->containedObject(tofTrackIds[i])); 00299 evtRecTrack->addTofTrack(tofTrack); 00300 } 00301 00302 int emcShowerId = evtRecTrackRoot->emcShowerId(); 00303 if ( emcShowerId >= 0 ) { 00304 evtRecTrack->setEmcShower( 00305 dynamic_cast<RecEmcShower*>(emcShowerCol->containedObject(emcShowerId)) 00306 ); 00307 } 00308 00309 int mucTrackId = evtRecTrackRoot->mucTrackId(); 00310 if ( mucTrackId >= 0 ) { 00311 evtRecTrack->setMucTrack( 00312 dynamic_cast<RecMucTrack*>(mucTrackCol->containedObject(mucTrackId)) 00313 ); 00314 } 00315 00316 evtRecTrackCol->push_back(evtRecTrack); 00317 } 00318 00319 delete m_evtRecTrackCol; 00320 m_evtRecTrackCol = 0; 00321 return StatusCode::SUCCESS; 00322 }
friend class CnvFactory< EvtRecTrackCnv > [friend] |
Definition at line 16 of file EvtRecTrackCnv.h.
CLID RootEventBaseCnv::CLID_top [protected, inherited] |
the CLID of the upper converter if any
Definition at line 61 of file RootEventBaseCnv.h.
Referenced by RootEventBaseCnv::createObj(), and RootEventBaseCnv::RootEventBaseCnv().
std::vector<void *> RootEventBaseCnv::m_adresses [protected, inherited] |
each converter knows the corresponding adresses
Definition at line 73 of file RootEventBaseCnv.h.
Referenced by RootEventBaseCnv::createObj(), DigiCnv::DigiCnv(), DstHltInfCnv::DstHltInfCnv(), EmcDigiCnv::EmcDigiCnv(), EmcMcHitCnv::EmcMcHitCnv(), EmcTrackCnv::EmcTrackCnv(), EvtHeaderCnv::EvtHeaderCnv(), EvtNavigatorCnv::EvtNavigatorCnv(), EvtRecDTagCnv::EvtRecDTagCnv(), EvtRecEtaToGGCnv::EvtRecEtaToGGCnv(), EvtRecEventCnv::EvtRecEventCnv(), EvtRecPi0Cnv::EvtRecPi0Cnv(), EvtRecPrimaryVertexCnv::EvtRecPrimaryVertexCnv(), EvtRecTrackCnv(), EvtRecVeeVertexCnv::EvtRecVeeVertexCnv(), ExtTrackCnv::ExtTrackCnv(), HltInfCnv::HltInfCnv(), HltRawCnv::HltRawCnv(), LumiDigiCnv::LumiDigiCnv(), McParticleCnv::McParticleCnv(), MdcDedxCnv::MdcDedxCnv(), MdcDigiCnv::MdcDigiCnv(), MdcKalTrackCnv::MdcKalTrackCnv(), MdcMcHitCnv::MdcMcHitCnv(), MdcTrackCnv::MdcTrackCnv(), MucDigiCnv::MucDigiCnv(), MucMcHitCnv::MucMcHitCnv(), MucTrackCnv::MucTrackCnv(), RecBTofCalHitCnv::RecBTofCalHitCnv(), RecEmcClusterCnv::RecEmcClusterCnv(), RecEmcHitCnv::RecEmcHitCnv(), RecEmcShowerCnv::RecEmcShowerCnv(), RecETofCalHitCnv::RecETofCalHitCnv(), RecEvTimeCnv::RecEvTimeCnv(), RecExtTrackCnv::RecExtTrackCnv(), RecMdcDedxCnv::RecMdcDedxCnv(), RecMdcDedxHitCnv::RecMdcDedxHitCnv(), RecMdcHitCnv::RecMdcHitCnv(), RecMdcKalHelixSegCnv::RecMdcKalHelixSegCnv(), RecMdcKalTrackCnv::RecMdcKalTrackCnv(), RecMdcTrackCnv::RecMdcTrackCnv(), RecMucRecHitCnv::RecMucRecHitCnv(), RecMucTrackCnv::RecMucTrackCnv(), RecTofTrackCnv::RecTofTrackCnv(), RecZddChannelCnv::RecZddChannelCnv(), TofDigiCnv::TofDigiCnv(), TofMcHitCnv::TofMcHitCnv(), TofTrackCnv::TofTrackCnv(), and TrigDataCnv::TrigDataCnv().
int RootEventBaseCnv::m_branchNr [protected, inherited] |
the branchNr of this converter for writing
Definition at line 49 of file RootEventBaseCnv.h.
Referenced by TrigCnv::DataObjectToTObject(), HltCnv::DataObjectToTObject(), DigiCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().
int RootEventBaseCnv::m_branchNrDst [protected, inherited] |
Definition at line 50 of file RootEventBaseCnv.h.
Referenced by DstCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().
int RootEventBaseCnv::m_branchNrEvtHeader [protected, inherited] |
Definition at line 54 of file RootEventBaseCnv.h.
Referenced by EvtHeaderCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().
int RootEventBaseCnv::m_branchNrEvtNavigator [protected, inherited] |
Definition at line 55 of file RootEventBaseCnv.h.
Referenced by EvtNavigatorCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().
int RootEventBaseCnv::m_branchNrEvtRec [protected, inherited] |
Definition at line 53 of file RootEventBaseCnv.h.
Referenced by EvtRecCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().
int RootEventBaseCnv::m_branchNrMc [protected, inherited] |
Definition at line 51 of file RootEventBaseCnv.h.
Referenced by McCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().
int RootEventBaseCnv::m_branchNrRecon [protected, inherited] |
Definition at line 52 of file RootEventBaseCnv.h.
Referenced by RecTrackCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().
TArrayS* RootEventBaseCnv::m_branchNumbers [protected, inherited] |
array with number of branches for reading
Definition at line 64 of file RootEventBaseCnv.h.
Referenced by RootEventBaseCnv::createObj(), and RootEventBaseCnv::RootEventBaseCnv().
RootCnvSvc* RootEventBaseCnv::m_cnvSvc [protected, inherited] |
Definition at line 39 of file RootEventBaseCnv.h.
Referenced by RootEventBaseCnv::createRep(), TrigDataCnv::DataObjectToTObject(), RecZddChannelCnv::DataObjectToTObject(), RecTofTrackCnv::DataObjectToTObject(), RecMucTrackCnv::DataObjectToTObject(), RecMdcTrackCnv::DataObjectToTObject(), RecMdcKalTrackCnv::DataObjectToTObject(), RecMdcKalHelixSegCnv::DataObjectToTObject(), RecMdcHitCnv::DataObjectToTObject(), RecMdcDedxHitCnv::DataObjectToTObject(), RecMdcDedxCnv::DataObjectToTObject(), RecExtTrackCnv::DataObjectToTObject(), RecEvTimeCnv::DataObjectToTObject(), RecEmcShowerCnv::DataObjectToTObject(), RecEmcHitCnv::DataObjectToTObject(), RecEmcClusterCnv::DataObjectToTObject(), TofMcHitCnv::DataObjectToTObject(), MucMcHitCnv::DataObjectToTObject(), MdcMcHitCnv::DataObjectToTObject(), McParticleCnv::DataObjectToTObject(), EmcMcHitCnv::DataObjectToTObject(), HltRawCnv::DataObjectToTObject(), HltInfCnv::DataObjectToTObject(), DstHltInfCnv::DataObjectToTObject(), EvtRecVeeVertexCnv::DataObjectToTObject(), DataObjectToTObject(), EvtRecPrimaryVertexCnv::DataObjectToTObject(), EvtRecPi0Cnv::DataObjectToTObject(), EvtRecEventCnv::DataObjectToTObject(), EvtRecEtaToGGCnv::DataObjectToTObject(), EvtRecDTagCnv::DataObjectToTObject(), TofTrackCnv::DataObjectToTObject(), MucTrackCnv::DataObjectToTObject(), MdcTrackCnv::DataObjectToTObject(), MdcKalTrackCnv::DataObjectToTObject(), MdcDedxCnv::DataObjectToTObject(), ExtTrackCnv::DataObjectToTObject(), EmcTrackCnv::DataObjectToTObject(), TofDigiCnv::DataObjectToTObject(), MucDigiCnv::DataObjectToTObject(), MdcDigiCnv::DataObjectToTObject(), LumiDigiCnv::DataObjectToTObject(), EmcDigiCnv::DataObjectToTObject(), RootEventBaseCnv::finalize(), TrigCnv::initialize(), RootEventBaseCnv::initialize(), RecTrackCnv::initialize(), McCnv::initialize(), HltCnv::initialize(), EvtRecCnv::initialize(), EvtNavigatorCnv::initialize(), EvtHeaderCnv::initialize(), DstCnv::initialize(), and DigiCnv::initialize().
commonData EvtRecTrackCnv::m_common [private] |
relational maps
Definition at line 34 of file EvtRecTrackCnv.h.
Referenced by TObjectToDataObject().
std::string RootEventBaseCnv::m_currentFileName [protected, inherited] |
IDataProviderSvc* RootEventBaseCnv::m_eds [protected, inherited] |
pointer to eventdataservice
Definition at line 46 of file RootEventBaseCnv.h.
Referenced by RootEventBaseCnv::createObj(), TrigDataCnv::DataObjectToTObject(), RecZddChannelCnv::DataObjectToTObject(), RecTofTrackCnv::DataObjectToTObject(), RecMucTrackCnv::DataObjectToTObject(), RecMdcTrackCnv::DataObjectToTObject(), RecMdcKalTrackCnv::DataObjectToTObject(), RecMdcKalHelixSegCnv::DataObjectToTObject(), RecMdcHitCnv::DataObjectToTObject(), RecMdcDedxHitCnv::DataObjectToTObject(), RecMdcDedxCnv::DataObjectToTObject(), RecExtTrackCnv::DataObjectToTObject(), RecEvTimeCnv::DataObjectToTObject(), RecEmcShowerCnv::DataObjectToTObject(), RecEmcHitCnv::DataObjectToTObject(), RecEmcClusterCnv::DataObjectToTObject(), TofMcHitCnv::DataObjectToTObject(), MucMcHitCnv::DataObjectToTObject(), MdcMcHitCnv::DataObjectToTObject(), McParticleCnv::DataObjectToTObject(), EmcMcHitCnv::DataObjectToTObject(), HltRawCnv::DataObjectToTObject(), HltInfCnv::DataObjectToTObject(), DstHltInfCnv::DataObjectToTObject(), EvtRecVeeVertexCnv::DataObjectToTObject(), DataObjectToTObject(), EvtRecPrimaryVertexCnv::DataObjectToTObject(), EvtRecPi0Cnv::DataObjectToTObject(), EvtRecEventCnv::DataObjectToTObject(), EvtRecEtaToGGCnv::DataObjectToTObject(), EvtRecDTagCnv::DataObjectToTObject(), TofTrackCnv::DataObjectToTObject(), MucTrackCnv::DataObjectToTObject(), MdcTrackCnv::DataObjectToTObject(), MdcKalTrackCnv::DataObjectToTObject(), MdcDedxCnv::DataObjectToTObject(), ExtTrackCnv::DataObjectToTObject(), EmcTrackCnv::DataObjectToTObject(), TofDigiCnv::DataObjectToTObject(), MucDigiCnv::DataObjectToTObject(), MdcDigiCnv::DataObjectToTObject(), LumiDigiCnv::DataObjectToTObject(), EmcDigiCnv::DataObjectToTObject(), RootEventBaseCnv::RootEventBaseCnv(), and McCnv::TObjectToDataObject().
TObjArray* EvtRecTrackCnv::m_evtRecTrackCol [private] |
Definition at line 36 of file EvtRecTrackCnv.h.
Referenced by DataObjectToTObject(), EvtRecTrackCnv(), and TObjectToDataObject().
RootEvtSelector* RootEventBaseCnv::m_evtsel [protected, inherited] |
Definition at line 75 of file RootEventBaseCnv.h.
Referenced by RootEventBaseCnv::createObj(), and RootEventBaseCnv::RootEventBaseCnv().
std::vector<RootCnvSvc::Leaf> RootEventBaseCnv::m_leaves [protected, inherited] |
TObject* RootEventBaseCnv::m_objRead [protected, inherited] |
the object that was read
Definition at line 58 of file RootEventBaseCnv.h.
Referenced by RootEventBaseCnv::createObj(), RootEventBaseCnv::getReadObject(), and RootEventBaseCnv::RootEventBaseCnv().
std::string RootEventBaseCnv::m_rootBranchname [protected, inherited] |
root branchname (may be concatenated of severals)
Definition at line 67 of file RootEventBaseCnv.h.
Referenced by DigiCnv::DigiCnv(), DstCnv::DstCnv(), DstHltInfCnv::DstHltInfCnv(), EmcDigiCnv::EmcDigiCnv(), EmcMcHitCnv::EmcMcHitCnv(), EmcTrackCnv::EmcTrackCnv(), EvtHeaderCnv::EvtHeaderCnv(), EvtNavigatorCnv::EvtNavigatorCnv(), EvtRecCnv::EvtRecCnv(), EvtRecDTagCnv::EvtRecDTagCnv(), EvtRecEtaToGGCnv::EvtRecEtaToGGCnv(), EvtRecEventCnv::EvtRecEventCnv(), EvtRecPi0Cnv::EvtRecPi0Cnv(), EvtRecPrimaryVertexCnv::EvtRecPrimaryVertexCnv(), EvtRecTrackCnv(), EvtRecVeeVertexCnv::EvtRecVeeVertexCnv(), ExtTrackCnv::ExtTrackCnv(), HltInfCnv::HltInfCnv(), HltRawCnv::HltRawCnv(), LumiDigiCnv::LumiDigiCnv(), McParticleCnv::McParticleCnv(), MdcDedxCnv::MdcDedxCnv(), MdcDigiCnv::MdcDigiCnv(), MdcKalTrackCnv::MdcKalTrackCnv(), MdcMcHitCnv::MdcMcHitCnv(), MdcTrackCnv::MdcTrackCnv(), MucDigiCnv::MucDigiCnv(), MucMcHitCnv::MucMcHitCnv(), MucTrackCnv::MucTrackCnv(), RecBTofCalHitCnv::RecBTofCalHitCnv(), RecEmcClusterCnv::RecEmcClusterCnv(), RecEmcHitCnv::RecEmcHitCnv(), RecEmcShowerCnv::RecEmcShowerCnv(), RecETofCalHitCnv::RecETofCalHitCnv(), RecEvTimeCnv::RecEvTimeCnv(), RecExtTrackCnv::RecExtTrackCnv(), RecMdcDedxCnv::RecMdcDedxCnv(), RecMdcDedxHitCnv::RecMdcDedxHitCnv(), RecMdcHitCnv::RecMdcHitCnv(), RecMdcKalHelixSegCnv::RecMdcKalHelixSegCnv(), RecMdcKalTrackCnv::RecMdcKalTrackCnv(), RecMdcTrackCnv::RecMdcTrackCnv(), RecMucRecHitCnv::RecMucRecHitCnv(), RecMucTrackCnv::RecMucTrackCnv(), RecTrackCnv::RecTrackCnv(), RecZddChannelCnv::RecZddChannelCnv(), TofDigiCnv::TofDigiCnv(), TofMcHitCnv::TofMcHitCnv(), TofTrackCnv::TofTrackCnv(), and TrigDataCnv::TrigDataCnv().
RootInterface* RootEventBaseCnv::m_rootInterface [protected, inherited] |
pointer to the RootInterface
Definition at line 43 of file RootEventBaseCnv.h.
Referenced by RootEventBaseCnv::createObj(), TrigCnv::DataObjectToTObject(), RecTrackCnv::DataObjectToTObject(), McCnv::DataObjectToTObject(), HltCnv::DataObjectToTObject(), EvtRecCnv::DataObjectToTObject(), EvtNavigatorCnv::DataObjectToTObject(), EvtHeaderCnv::DataObjectToTObject(), DstCnv::DataObjectToTObject(), DigiCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().
std::string RootEventBaseCnv::m_rootTreename [protected, inherited] |
each converter knows it's treename
Definition at line 69 of file RootEventBaseCnv.h.
Referenced by EmcTrackCnv::EmcTrackCnv(), RecEmcHitCnv::RecEmcHitCnv(), and RecMucRecHitCnv::RecMucRecHitCnv().