#include <RecMdcKalTrackCnv.h>
Inheritance diagram for RecMdcKalTrackCnv:
Public Types | |
typedef Ty1 | source |
typedef Ty2 | destination |
Public Member Functions | |
virtual | ~RecMdcKalTrackCnv () |
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 | |
RecMdcKalTrackCnv (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_recMdcKalTrackCol |
root object to be read | |
Friends | |
class | CnvFactory< RecMdcKalTrackCnv > |
Definition at line 15 of file RecMdcKalTrackCnv.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 RecMdcKalTrackCnv::~RecMdcKalTrackCnv | ( | ) | [inline, virtual] |
RecMdcKalTrackCnv::RecMdcKalTrackCnv | ( | ISvcLocator * | svc | ) | [protected] |
Definition at line 33 of file RecMdcKalTrackCnv.cxx.
References RootEventBaseCnv::m_adresses, m_recMdcKalTrackCol, RootEventBaseCnv::m_rootBranchname, and msgSvc().
00034 : RootEventBaseCnv(classID(), svc) 00035 { 00036 00037 // Here we associate this converter with the /Event path on the TDS. 00038 MsgStream log(msgSvc(), "RecMdcKalTrackCnv"); 00039 //log << MSG::DEBUG << "Constructor called for " << objType() << endreq; 00040 //m_rootTreename ="Rec"; 00041 m_rootBranchname ="m_recMdcKalTrackCol"; 00042 // declareObject(EventModel::Recon::MdcKalTrackCol, objType(), m_rootTreename, m_rootBranchname); 00043 m_adresses.push_back(&m_recMdcKalTrackCol); 00044 m_recMdcKalTrackCol = 0; 00045 }
static const CLID& RecMdcKalTrackCnv::classID | ( | ) | [inline, static] |
Definition at line 20 of file RecMdcKalTrackCnv.h.
References CLID_RecMdcKalTrackCol.
Referenced by RootCnvSvc::addConverters().
00021 { 00022 return CLID_RecMdcKalTrackCol; 00023 }
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(), 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(), EvtRecTrackCnv::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 RecMdcKalTrackCnv::DataObjectToTObject | ( | DataObject * | obj, | |
RootAddress * | addr | |||
) | [protected, virtual] |
transformation to root
Implements RootEventBaseCnv.
Definition at line 468 of file RecMdcKalTrackCnv.cxx.
References TRecTrackEvent::addRecMdcKalTrack(), TRecTrackEvent::clearRecMdcKalTrackCol(), RootEventBaseCnv::createRep(), Bes_Common::DEBUG, calibUtil::ERROR, EventModel::Recon::Event, TRecTrackEvent::getRecMdcKalTrackCol(), RootCnvSvc::getRecTrackCnv(), RecTrackCnv::getWriteObject(), TRecMdcKalTrack::getZHelix(), genRecEmupikp::i, Bes_Common::INFO, ganga-rec::j, RootEventBaseCnv::m_cnvSvc, RootEventBaseCnv::m_eds, m_recMdcKalTrackCol, mass, msgSvc(), EventModel::Recon::RecMdcKalTrackCol, s, TRecMdcKalTrack::setChisq(), TRecMdcKalTrack::setFError(), TRecMdcKalTrack::setFErrorE(), TRecMdcKalTrack::setFErrorK(), TRecMdcKalTrack::setFErrorMu(), TRecMdcKalTrack::setFErrorP(), TRecMdcKalTrack::setFHelix(), TRecMdcKalTrack::setFHelixE(), TRecMdcKalTrack::setFHelixK(), TRecMdcKalTrack::setFHelixMu(), TRecMdcKalTrack::setFHelixP(), TRecMdcKalTrack::setFiTerm(), TRecMdcKalTrack::setLength(), TRecMdcKalTrack::setLError(), TRecMdcKalTrack::setLErrorE(), TRecMdcKalTrack::setLErrorK(), TRecMdcKalTrack::setLErrorMu(), TRecMdcKalTrack::setLErrorP(), TRecMdcKalTrack::setLHelix(), TRecMdcKalTrack::setLHelixE(), TRecMdcKalTrack::setLHelixK(), TRecMdcKalTrack::setLHelixMu(), TRecMdcKalTrack::setLHelixP(), TRecMdcKalTrack::setLPivot(), TRecMdcKalTrack::setLPivotE(), TRecMdcKalTrack::setLPivotK(), TRecMdcKalTrack::setLPivotMu(), TRecMdcKalTrack::setLPivotP(), TRecMdcKalTrack::setLPoint(), TRecMdcKalTrack::setLPointE(), TRecMdcKalTrack::setLPointK(), TRecMdcKalTrack::setLPointMu(), TRecMdcKalTrack::setLPointP(), TRecMdcKalTrack::setMass(), TRecMdcKalTrack::setNdf(), TRecMdcKalTrack::setNhits(), TRecMdcKalTrack::setNlayer(), TRecMdcKalTrack::setNseg(), TRecMdcKalTrack::setPathSM(), TRecMdcKalTrack::setPoca(), TRecMdcKalTrack::setPocaE(), TRecMdcKalTrack::setPocaK(), TRecMdcKalTrack::setPocaMu(), TRecMdcKalTrack::setPocaP(), TRecMdcKalTrack::setStat(), TRecMdcKalTrack::setTError(), TRecMdcKalTrack::setTHelix(), TRecMdcKalTrack::setTof(), TRecMdcKalTrack::setTrackId(), TRecMdcKalTrack::setZError(), TRecMdcKalTrack::setZErrorE(), TRecMdcKalTrack::setZErrorK(), TRecMdcKalTrack::setZErrorMu(), TRecMdcKalTrack::setZErrorP(), TRecMdcKalTrack::setZHelix(), TRecMdcKalTrack::setZHelixE(), TRecMdcKalTrack::setZHelixK(), TRecMdcKalTrack::setZHelixMu(), TRecMdcKalTrack::setZHelixP(), and delete_small_size::size.
00468 { 00469 00470 00471 MsgStream log(msgSvc(), "RecMdcKalTrackCnv"); 00472 log << MSG::DEBUG << "RecMdcKalTrackCnv::DataObjectToTObject" << endreq; 00473 StatusCode sc=StatusCode::SUCCESS; 00474 00475 RecMdcKalTrackCol * mdcKalTrackColTds=dynamic_cast<RecMdcKalTrackCol *> (obj); 00476 if (!mdcKalTrackColTds) { 00477 log << MSG::ERROR << "Could not downcast to RecMdcKalTrackCol" << endreq; 00478 return StatusCode::FAILURE; 00479 } 00480 00481 DataObject *evt; 00482 m_eds->findObject(EventModel::Recon::Event,evt); 00483 if (evt==NULL) { 00484 log << MSG::ERROR << "Could not get ReconEvent in TDS " << endreq; 00485 return StatusCode::FAILURE; 00486 } 00487 00488 ReconEvent * devtTds=dynamic_cast<ReconEvent *> (evt); 00489 if (!devtTds) { 00490 log << MSG::ERROR << "MdcKalTrackCnv:Could not downcast to TDS Recon Event" << endreq; 00491 } 00492 IOpaqueAddress *addr; 00493 00494 m_cnvSvc->getRecTrackCnv()->createRep(evt,addr); 00495 TRecTrackEvent *recEvt=m_cnvSvc->getRecTrackCnv()->getWriteObject(); 00496 00497 const TObjArray *m_recMdcKalTrackCol = recEvt->getRecMdcKalTrackCol(); 00498 00499 if (!m_recMdcKalTrackCol) return sc; 00500 00501 recEvt->clearRecMdcKalTrackCol(); //necessary in case there is I/O at the same time since array is static 00502 RecMdcKalTrackCol::const_iterator mdcKalTrackTds; 00503 00504 for (mdcKalTrackTds = mdcKalTrackColTds->begin(); mdcKalTrackTds != mdcKalTrackColTds->end(); mdcKalTrackTds++) { 00505 00506 // Get Data from TDS 00507 // root data 00508 Int_t trackId; 00509 Double_t mass[5]; 00510 Double_t length[5]; 00511 Double_t tof[5]; 00512 Int_t nhits[5]; 00513 Int_t nlayer[5]; 00514 Int_t stat[2][5]; 00515 Double_t chisq[2][5]; 00516 Int_t ndf[2][5]; 00517 Int_t nSeg[5]; 00518 Double_t fiTerm[5]; 00519 Double_t pathSM[5]; 00520 00521 Double_t poca_e[3]; 00522 Double_t poca_mu[3]; 00523 Double_t poca[3]; 00524 Double_t poca_k[3]; 00525 Double_t poca_p[3]; 00526 00527 Double_t zhelix[5]; 00528 Double_t zerror[5][5]; 00529 Double_t zhelix_e[5]; 00530 Double_t zerror_e[5][5]; 00531 Double_t zhelix_mu[5]; 00532 Double_t zerror_mu[5][5]; 00533 Double_t zhelix_k[5]; 00534 Double_t zerror_k[5][5]; 00535 Double_t zhelix_p[5]; 00536 Double_t zerror_p[5][5]; 00537 00538 Double_t fhelix[5]; 00539 Double_t ferror[5][5]; 00540 Double_t fhelix_e[5]; 00541 Double_t ferror_e[5][5]; 00542 Double_t fhelix_mu[5]; 00543 Double_t ferror_mu[5][5]; 00544 Double_t fhelix_k[5]; 00545 Double_t ferror_k[5][5]; 00546 Double_t fhelix_p[5]; 00547 Double_t ferror_p[5][5]; 00548 00549 Double_t lhelix[5]; 00550 Double_t lerror[5][5]; 00551 Double_t lhelix_e[5]; 00552 Double_t lerror_e[5][5]; 00553 Double_t lhelix_mu[5]; 00554 Double_t lerror_mu[5][5]; 00555 Double_t lhelix_k[5]; 00556 Double_t lerror_k[5][5]; 00557 Double_t lhelix_p[5]; 00558 Double_t lerror_p[5][5]; 00559 00560 Double_t thelix[5]; 00561 Double_t terror[15]; 00562 00563 Double_t lpoint_e[3]; 00564 Double_t lpoint_mu[3]; 00565 Double_t lpoint[3]; 00566 Double_t lpoint_k[3]; 00567 Double_t lpoint_p[3]; 00568 00569 Double_t lpivot_e[3]; 00570 Double_t lpivot_mu[3]; 00571 Double_t lpivot[3]; 00572 Double_t lpivot_k[3]; 00573 Double_t lpivot_p[3]; 00574 00575 TRecMdcKalTrack *mdcKalTrackRoot = new TRecMdcKalTrack(); 00576 00577 trackId = (*mdcKalTrackTds)->getTrackId(); 00578 for (Int_t i = 0 ; i < 5 ; i++){ 00579 mass[i] = (*mdcKalTrackTds)->getMass(i); 00580 length[i] = (*mdcKalTrackTds)->getLength(i); 00581 tof[i] = (*mdcKalTrackTds)->getTof(i); 00582 nhits[i] = (*mdcKalTrackTds)->getNhits(i); 00583 nlayer[i] = (*mdcKalTrackTds)->getNlayer(i); 00584 fiTerm[i]=(*mdcKalTrackTds)->getFiTerm(i); 00585 pathSM[i]=(*mdcKalTrackTds)->getPathSM(i); 00586 //stat[i] = (*mdcKalTrackTds)->getStat(i); 00587 nSeg[i]=((*mdcKalTrackTds)->getVecHelixSegs(i)).size(); 00588 mdcKalTrackRoot->setNseg(nSeg[i],i); 00589 mdcKalTrackRoot->setNlayer(nlayer[i],i); 00590 for (Int_t j = 0 ; j< 2 ; j++){ 00591 stat[j][i] = (*mdcKalTrackTds)->getStat(j,i); 00592 chisq[j][i] = (*mdcKalTrackTds)->getChisq(j,i); 00593 ndf[j][i] = (*mdcKalTrackTds)->getNdf(j,i); 00594 mdcKalTrackRoot->setStat(stat[j][i],j,i); 00595 mdcKalTrackRoot->setChisq(chisq[j][i],j,i); 00596 mdcKalTrackRoot->setNdf(ndf[j][i],j,i); 00597 } 00598 } 00599 for(Int_t i=0;i<5;i++){ 00600 log<<MSG::INFO<<" recMdcKalTrack.helix("<<i<<"): "<<(*mdcKalTrackTds)->getTHelix(i)<<endreq; 00601 thelix[i] = (*mdcKalTrackTds)->getTHelix(i); 00602 } 00603 for(Int_t i=0; i<15; i++){ 00604 terror[i] = (*mdcKalTrackTds)->getTError(i); 00605 } 00606 HepPoint3D h_poca_e = (*mdcKalTrackTds)->getPocaE(); 00607 HepPoint3D h_poca_mu = (*mdcKalTrackTds)->getPocaMu(); 00608 HepPoint3D h_poca = (*mdcKalTrackTds)->getPoca(); 00609 HepPoint3D h_poca_k = (*mdcKalTrackTds)->getPocaK(); 00610 HepPoint3D h_poca_p = (*mdcKalTrackTds)->getPocaP(); 00611 HepPoint3D h_lpoint_e = (*mdcKalTrackTds)->getLPointE(); 00612 HepPoint3D h_lpoint_mu = (*mdcKalTrackTds)->getLPointMu(); 00613 HepPoint3D h_lpoint = (*mdcKalTrackTds)->getLPoint(); 00614 HepPoint3D h_lpoint_k = (*mdcKalTrackTds)->getLPointK(); 00615 HepPoint3D h_lpoint_p = (*mdcKalTrackTds)->getLPointP(); 00616 HepPoint3D h_lpivot_e = (*mdcKalTrackTds)->getLPivotE(); 00617 HepPoint3D h_lpivot_mu = (*mdcKalTrackTds)->getLPivotMu(); 00618 HepPoint3D h_lpivot = (*mdcKalTrackTds)->getLPivot(); 00619 HepPoint3D h_lpivot_k = (*mdcKalTrackTds)->getLPivotK(); 00620 HepPoint3D h_lpivot_p = (*mdcKalTrackTds)->getLPivotP(); 00621 00622 //std::cout<<" h_poca_mu: "<<h_poca_mu<<std::endl; 00623 //std::cout<<" h_poca: "<<h_poca<<std::endl; 00624 //std::cout<<" h_poca_k: "<<h_poca_k<<std::endl; 00625 //std::cout<<" h_poca_p: "<<h_poca_p<<std::endl; 00626 00627 00628 HepVector h_zhelix = (*mdcKalTrackTds)->getZHelix(); 00629 HepSymMatrix h_zerror = (*mdcKalTrackTds)->getZError(); 00630 HepVector h_zhelix_e = (*mdcKalTrackTds)->getZHelixE(); 00631 HepSymMatrix h_zerror_e = (*mdcKalTrackTds)->getZErrorE(); 00632 HepVector h_zhelix_mu = (*mdcKalTrackTds)->getZHelixMu(); 00633 HepSymMatrix h_zerror_mu= (*mdcKalTrackTds)->getZErrorMu(); 00634 HepVector h_zhelix_k = (*mdcKalTrackTds)->getZHelixK(); 00635 HepSymMatrix h_zerror_k = (*mdcKalTrackTds)->getZErrorK(); 00636 HepVector h_zhelix_p = (*mdcKalTrackTds)->getZHelixP(); 00637 HepSymMatrix h_zerror_p = (*mdcKalTrackTds)->getZErrorP(); 00638 00639 HepVector h_fhelix = (*mdcKalTrackTds)->getFHelix(); 00640 HepSymMatrix h_ferror = (*mdcKalTrackTds)->getFError(); 00641 HepVector h_fhelix_e = (*mdcKalTrackTds)->getFHelixE(); 00642 HepSymMatrix h_ferror_e = (*mdcKalTrackTds)->getFErrorE(); 00643 HepVector h_fhelix_mu = (*mdcKalTrackTds)->getFHelixMu(); 00644 HepSymMatrix h_ferror_mu= (*mdcKalTrackTds)->getFErrorMu(); 00645 HepVector h_fhelix_k = (*mdcKalTrackTds)->getFHelixK(); 00646 HepSymMatrix h_ferror_k = (*mdcKalTrackTds)->getFErrorK(); 00647 HepVector h_fhelix_p = (*mdcKalTrackTds)->getFHelixP(); 00648 HepSymMatrix h_ferror_p = (*mdcKalTrackTds)->getFErrorP(); 00649 00650 HepVector h_lhelix = (*mdcKalTrackTds)->getLHelix(); 00651 HepSymMatrix h_lerror = (*mdcKalTrackTds)->getLError(); 00652 HepVector h_lhelix_e = (*mdcKalTrackTds)->getLHelixE(); 00653 HepSymMatrix h_lerror_e = (*mdcKalTrackTds)->getLErrorE(); 00654 HepVector h_lhelix_mu = (*mdcKalTrackTds)->getLHelixMu(); 00655 HepSymMatrix h_lerror_mu= (*mdcKalTrackTds)->getLErrorMu(); 00656 HepVector h_lhelix_k = (*mdcKalTrackTds)->getLHelixK(); 00657 HepSymMatrix h_lerror_k = (*mdcKalTrackTds)->getLErrorK(); 00658 HepVector h_lhelix_p = (*mdcKalTrackTds)->getLHelixP(); 00659 HepSymMatrix h_lerror_p = (*mdcKalTrackTds)->getLErrorP(); 00660 00661 mdcKalTrackRoot->setTrackId(trackId); 00662 mdcKalTrackRoot->setMass(mass); 00663 mdcKalTrackRoot->setLength(length); 00664 mdcKalTrackRoot->setTof(tof); 00665 mdcKalTrackRoot->setNhits(nhits); 00666 mdcKalTrackRoot->setFiTerm(fiTerm); 00667 mdcKalTrackRoot->setPathSM(pathSM); 00668 // mdcKalTrackRoot->setStat(stat); 00669 00670 for(int s=0; s<3; s++){ 00671 poca_e[s] = h_poca_e[s]; 00672 poca_mu[s] = h_poca_mu[s]; 00673 poca[s] = h_poca[s]; 00674 poca_k[s] = h_poca_k[s]; 00675 poca_p[s] = h_poca_p[s]; 00676 lpoint_e[s] = h_lpoint_e[s]; 00677 lpoint_mu[s] = h_lpoint_mu[s]; 00678 lpoint[s] = h_lpoint[s]; 00679 lpoint_k[s] = h_lpoint_k[s]; 00680 lpoint_p[s] = h_lpoint_p[s]; 00681 lpivot_e[s] = h_lpivot_e[s]; 00682 lpivot_mu[s] = h_lpivot_mu[s]; 00683 lpivot[s] = h_lpivot[s]; 00684 lpivot_k[s] = h_lpivot_k[s]; 00685 lpivot_p[s] = h_lpivot_p[s]; 00686 } 00687 00688 for (int i=0; i<5; i++){ 00689 zhelix[i] = h_zhelix[i]; 00690 zhelix_e[i] = h_zhelix_e[i]; 00691 zhelix_mu[i] = h_zhelix_mu[i]; 00692 zhelix_p[i] = h_zhelix_p[i]; 00693 zhelix_k[i] = h_zhelix_k[i]; 00694 00695 fhelix[i] = h_fhelix[i]; 00696 fhelix_e[i] = h_fhelix_e[i]; 00697 fhelix_mu[i] = h_fhelix_mu[i]; 00698 fhelix_p[i] = h_fhelix_p[i]; 00699 fhelix_k[i] = h_fhelix_k[i]; 00700 00701 lhelix[i] = h_lhelix[i]; 00702 lhelix_e[i] = h_lhelix_e[i]; 00703 lhelix_mu[i] = h_lhelix_mu[i]; 00704 lhelix_p[i] = h_lhelix_p[i]; 00705 lhelix_k[i] = h_lhelix_k[i]; 00706 00707 for (int j=0; j<=i; j++){ 00708 zerror[i][j] = h_zerror[i][j]; 00709 zerror_e[i][j] = h_zerror_e[i][j]; 00710 zerror_mu[i][j] = h_zerror_mu[i][j]; 00711 zerror_p[i][j] = h_zerror_p[i][j]; 00712 zerror_k[i][j] = h_zerror_k[i][j]; 00713 00714 00715 ferror[i][j] = h_ferror[i][j]; 00716 ferror_e[i][j] = h_ferror_e[i][j]; 00717 ferror_mu[i][j] = h_ferror_mu[i][j]; 00718 ferror_p[i][j] = h_ferror_p[i][j]; 00719 ferror_k[i][j] = h_ferror_k[i][j]; 00720 00721 00722 lerror[i][j] = h_lerror[i][j]; 00723 lerror_e[i][j] = h_lerror_e[i][j]; 00724 lerror_mu[i][j] = h_lerror_mu[i][j]; 00725 lerror_p[i][j] = h_lerror_p[i][j]; 00726 lerror_k[i][j] = h_lerror_k[i][j]; 00727 00728 zerror[j][i] = h_zerror[i][j]; 00729 zerror_e[j][i] = h_zerror_e[i][j]; 00730 zerror_mu[j][i] = h_zerror_mu[i][j]; 00731 zerror_p[j][i] = h_zerror_p[i][j]; 00732 zerror_k[j][i] = h_zerror_k[i][j]; 00733 00734 00735 ferror[j][i] = h_ferror[i][j]; 00736 ferror_e[j][i] = h_ferror_e[i][j]; 00737 ferror_mu[j][i] = h_ferror_mu[i][j]; 00738 ferror_p[j][i] = h_ferror_p[i][j]; 00739 ferror_k[j][i] = h_ferror_k[i][j]; 00740 00741 00742 lerror[j][i] = h_lerror[i][j]; 00743 lerror_e[j][i] = h_lerror_e[i][j]; 00744 lerror_mu[j][i] = h_lerror_mu[i][j]; 00745 lerror_p[j][i] = h_lerror_p[i][j]; 00746 lerror_k[j][i] = h_lerror_k[i][j]; 00747 00748 } 00749 } 00750 00751 mdcKalTrackRoot->setZHelix(zhelix); 00752 mdcKalTrackRoot->setZError(zerror); 00753 for(int k=0; k<5; k++){ 00754 log<<MSG::INFO<<" RecMdcKalTrackRoot.ZHelix "<<"["<<k<<"]" 00755 <<mdcKalTrackRoot->getZHelix(k)<<endreq; 00756 } 00757 mdcKalTrackRoot->setZHelixE(zhelix_e); 00758 mdcKalTrackRoot->setZErrorE(zerror_e); 00759 mdcKalTrackRoot->setZHelixMu(zhelix_mu); 00760 mdcKalTrackRoot->setZErrorMu(zerror_mu); 00761 mdcKalTrackRoot->setZHelixK(zhelix_k); 00762 mdcKalTrackRoot->setZErrorK(zerror_k); 00763 mdcKalTrackRoot->setZHelixP(zhelix_p); 00764 mdcKalTrackRoot->setZErrorP(zerror_p); 00765 mdcKalTrackRoot->setFHelix(fhelix); 00766 mdcKalTrackRoot->setFError(ferror); 00767 mdcKalTrackRoot->setFHelixE(fhelix_e); 00768 mdcKalTrackRoot->setFErrorE(ferror_e); 00769 mdcKalTrackRoot->setFHelixMu(fhelix_mu); 00770 mdcKalTrackRoot->setFErrorMu(ferror_mu); 00771 mdcKalTrackRoot->setFHelixK(fhelix_k); 00772 mdcKalTrackRoot->setFErrorK(ferror_k); 00773 mdcKalTrackRoot->setFHelixP(fhelix_p); 00774 mdcKalTrackRoot->setFErrorP(ferror_p); 00775 00776 mdcKalTrackRoot->setLHelix(lhelix); 00777 mdcKalTrackRoot->setLError(lerror); 00778 mdcKalTrackRoot->setLHelixE(lhelix_e); 00779 mdcKalTrackRoot->setLErrorE(lerror_e); 00780 mdcKalTrackRoot->setLHelixMu(lhelix_mu); 00781 mdcKalTrackRoot->setLErrorMu(lerror_mu); 00782 mdcKalTrackRoot->setLHelixK(lhelix_k); 00783 mdcKalTrackRoot->setLErrorK(lerror_k); 00784 mdcKalTrackRoot->setLHelixP(lhelix_p); 00785 mdcKalTrackRoot->setLErrorP(lerror_p); 00786 00787 mdcKalTrackRoot->setTHelix(thelix); 00788 mdcKalTrackRoot->setTError(terror); 00789 00790 mdcKalTrackRoot->setPocaE(poca_e); 00791 mdcKalTrackRoot->setPocaMu(poca_mu); 00792 mdcKalTrackRoot->setPoca(poca); 00793 mdcKalTrackRoot->setPocaK(poca_k); 00794 mdcKalTrackRoot->setPocaP(poca_p); 00795 00796 mdcKalTrackRoot->setLPointE(lpoint_e); 00797 mdcKalTrackRoot->setLPointMu(lpoint_mu); 00798 mdcKalTrackRoot->setLPoint(lpoint); 00799 mdcKalTrackRoot->setLPointK(lpoint_k); 00800 mdcKalTrackRoot->setLPointP(lpoint_p); 00801 00802 mdcKalTrackRoot->setLPivotE(lpivot_e); 00803 mdcKalTrackRoot->setLPivotMu(lpivot_mu); 00804 mdcKalTrackRoot->setLPivot(lpivot); 00805 mdcKalTrackRoot->setLPivotK(lpivot_k); 00806 mdcKalTrackRoot->setLPivotP(lpivot_p); 00807 //std::cout<<" mdcKalTrackRoot->getPivotE(1): "<<mdcKalTrackRoot->getLPivotE(1)<<std::endl; 00808 00809 recEvt->addRecMdcKalTrack(mdcKalTrackRoot); 00810 } 00811 00812 00813 return StatusCode::SUCCESS; 00814 }
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 RecMdcKalTrackCnv::TObjectToDataObject | ( | DataObject *& | obj | ) | [protected, virtual] |
transformation from root
for zero point
first hit point
last hit point
track finding helix for dE/dx usage
the next three function need more consideration, temporarily
Implements RootEventBaseCnv.
Definition at line 47 of file RecMdcKalTrackCnv.cxx.
References cos(), Bes_Common::DEBUG, Bes_Common::FATAL, TRecMdcKalTrack::getChisq(), TRecMdcKalTrack::getFError(), TRecMdcKalTrack::getFErrorE(), TRecMdcKalTrack::getFErrorK(), TRecMdcKalTrack::getFErrorMu(), TRecMdcKalTrack::getFErrorP(), TRecMdcKalTrack::getFHelix(), TRecMdcKalTrack::getFHelixE(), TRecMdcKalTrack::getFHelixK(), TRecMdcKalTrack::getFHelixMu(), TRecMdcKalTrack::getFHelixP(), TRecMdcKalTrack::getfiTerm(), TRecMdcKalTrack::getLength(), TRecMdcKalTrack::getLError(), TRecMdcKalTrack::getLErrorE(), TRecMdcKalTrack::getLErrorK(), TRecMdcKalTrack::getLErrorMu(), TRecMdcKalTrack::getLErrorP(), TRecMdcKalTrack::getLHelix(), TRecMdcKalTrack::getLHelixE(), TRecMdcKalTrack::getLHelixK(), TRecMdcKalTrack::getLHelixMu(), TRecMdcKalTrack::getLHelixP(), TRecMdcKalTrack::getLPivot(), TRecMdcKalTrack::getLPivotE(), TRecMdcKalTrack::getLPivotK(), TRecMdcKalTrack::getLPivotMu(), TRecMdcKalTrack::getLPivotP(), TRecMdcKalTrack::getLPoint(), TRecMdcKalTrack::getLPointE(), TRecMdcKalTrack::getLPointK(), TRecMdcKalTrack::getLPointMu(), TRecMdcKalTrack::getLPointP(), TRecMdcKalTrack::getMass(), TRecMdcKalTrack::getNdf(), TRecMdcKalTrack::getNhits(), TRecMdcKalTrack::getNlayer(), TRecMdcKalTrack::getNseg(), TRecMdcKalTrack::getPathSM(), TRecMdcKalTrack::getPoca(), TRecMdcKalTrack::getPocaE(), TRecMdcKalTrack::getPocaK(), TRecMdcKalTrack::getPocaMu(), TRecMdcKalTrack::getPocaP(), TRecMdcKalTrack::getStat(), TRecMdcKalTrack::getTError(), TRecMdcKalTrack::getTHelix(), TRecMdcKalTrack::getTof(), TRecMdcKalTrack::getTrackId(), RecMdcKalTrack::getVecHelixSegs(), TRecMdcKalTrack::getZError(), TRecMdcKalTrack::getZErrorE(), TRecMdcKalTrack::getZErrorK(), TRecMdcKalTrack::getZErrorMu(), TRecMdcKalTrack::getZErrorP(), TRecMdcKalTrack::getZHelix(), TRecMdcKalTrack::getZHelixE(), TRecMdcKalTrack::getZHelixK(), TRecMdcKalTrack::getZHelixMu(), TRecMdcKalTrack::getZHelixP(), genRecEmupikp::i, iter(), ganga-rec::j, MdcID::layer(), m_common, m_recMdcKalTrackCol, commonData::m_rootRecMdcKalTrackMap, mass, msgSvc(), phi0, EventModel::Recon::RecMdcKalTrackCol, DstMdcKalTrack::setCharge(), DstMdcKalTrack::setChisq(), DstMdcKalTrack::setFError(), DstMdcKalTrack::setFHelix(), RecMdcKalTrack::setFiTerm(), RecMdcKalTrack::setLength(), RecMdcKalTrack::setLError(), RecMdcKalTrack::setLHelix(), RecMdcKalTrack::setLPivot(), RecMdcKalTrack::setLPoint(), RecMdcKalTrack::setMass(), DstMdcKalTrack::setNdf(), RecMdcKalTrack::setNhits(), DstMdcKalTrack::setNlayer(), DstMdcKalTrack::setP(), RecMdcKalTrack::setPathSM(), DstMdcKalTrack::setPhi(), DstMdcKalTrack::setPoca(), DstMdcKalTrack::setPx(), DstMdcKalTrack::setPxy(), DstMdcKalTrack::setPy(), DstMdcKalTrack::setPz(), DstMdcKalTrack::setR(), DstMdcKalTrack::setStat(), RecMdcKalTrack::setTError(), RecMdcKalTrack::setTHelix(), DstMdcKalTrack::setTheta(), RecMdcKalTrack::setTof(), DstMdcKalTrack::setTrackId(), RecMdcKalTrack::setVecHelixSegs(), DstMdcKalTrack::setX(), DstMdcKalTrack::setY(), DstMdcKalTrack::setZ(), DstMdcKalTrack::setZError(), DstMdcKalTrack::setZHelix(), sin(), v, MdcID::wire(), and x.
00047 { 00048 // creation of TDS object from root object 00049 MsgStream log(msgSvc(), "RecMdcKalTrackCnv"); 00050 log << MSG::DEBUG << "RecMdcKalTrackCnv::TObjectToDataObject" << endreq; 00051 StatusCode sc = StatusCode::SUCCESS; 00052 00053 // create the TDS location for the MdcKalTrack Collection 00054 RecMdcKalTrackCol* recMdcKalTrackCol = new RecMdcKalTrackCol; 00055 refpObject = recMdcKalTrackCol; 00056 00057 // now convert 00058 if (!m_recMdcKalTrackCol) return sc; 00059 TIter recMdcKalTrackIter(m_recMdcKalTrackCol); 00060 00061 IDataProviderSvc* dataSvc = 0; 00062 sc = serviceLocator()->getService ("EventDataSvc", 00063 IDataProviderSvc::interfaceID(), (IInterface*&)dataSvc); 00064 if (!sc.isSuccess()) { 00065 log << MSG::FATAL << "Could not get EventDataSvc in RecMdcTrackCnv" << endreq; 00066 return( StatusCode::FAILURE); 00067 } 00068 SmartDataPtr<RecMdcKalHelixSegCol> recMdcKalHelixSegCol(dataSvc,"/Event/Recon/RecMdcKalHelixSegCol"); 00069 if (!recMdcKalHelixSegCol) { 00070 log << MSG::FATAL << "Could not find RecMdcKalHelixSegCol" << endreq; 00071 return( StatusCode::FAILURE); 00072 } 00073 00074 TRecMdcKalTrack *recMdcKalTrackRoot = 0; 00075 while ((recMdcKalTrackRoot = (TRecMdcKalTrack*)recMdcKalTrackIter.Next())) { 00076 00077 std::vector<HepVector> zhelixs; 00078 std::vector<HepSymMatrix> zerrors; 00079 std::vector<HepVector> fhelixs; 00080 std::vector<HepSymMatrix> ferrors; 00081 std::vector<HepVector> lhelixs; 00082 std::vector<HepSymMatrix> lerrors; 00083 std::vector<HepPoint3D> pocas; 00084 std::vector<HepPoint3D> lpivots; 00085 std::vector<HepPoint3D> lpoints; 00086 00087 00088 HepVector zhelix(5); 00089 HepSymMatrix zerror(5); 00090 HepVector fhelix(5); 00091 HepSymMatrix ferror(5); 00092 HepVector lhelix(5); 00093 HepSymMatrix lerror(5); 00094 HepVector thelix(5); 00095 HepSymMatrix terror(5); 00096 HepPoint3D poca(0,0,0); 00097 HepPoint3D lpivot(0,0,0); 00098 HepPoint3D lpoint(0,0,0); 00099 00100 00101 HepVector zhelix_e(5); 00102 HepSymMatrix zerror_e(5); 00103 HepVector fhelix_e(5); 00104 HepSymMatrix ferror_e(5); 00105 HepVector lhelix_e(5); 00106 HepSymMatrix lerror_e(5); 00107 HepPoint3D poca_e(0,0,0); 00108 HepPoint3D lpivot_e(0,0,0); 00109 HepPoint3D lpoint_e(0,0,0); 00110 00111 00112 HepVector zhelix_mu(5); 00113 HepSymMatrix zerror_mu(5); 00114 HepVector fhelix_mu(5); 00115 HepSymMatrix ferror_mu(5); 00116 HepVector lhelix_mu(5); 00117 HepSymMatrix lerror_mu(5); 00118 HepPoint3D poca_mu(0,0,0); 00119 HepPoint3D lpivot_mu(0,0,0); 00120 HepPoint3D lpoint_mu(0,0,0); 00121 00122 00123 HepVector zhelix_k(5); 00124 HepSymMatrix zerror_k(5); 00125 HepVector fhelix_k(5); 00126 HepSymMatrix ferror_k(5); 00127 HepVector lhelix_k(5); 00128 HepSymMatrix lerror_k(5); 00129 HepPoint3D poca_k(0,0,0); 00130 HepPoint3D lpivot_k(0,0,0); 00131 HepPoint3D lpoint_k(0,0,0); 00132 00133 00134 HepVector zhelix_p(5); 00135 HepSymMatrix zerror_p(5); 00136 HepVector fhelix_p(5); 00137 HepSymMatrix ferror_p(5); 00138 HepVector lhelix_p(5); 00139 HepSymMatrix lerror_p(5); 00140 HepPoint3D poca_p(0,0,0); 00141 HepPoint3D lpivot_p(0,0,0); 00142 HepPoint3D lpoint_p(0,0,0); 00143 00144 00145 int stat[2][5]; 00146 double chisq[2][5]; 00147 int ndf[2][5]; 00148 00149 double mass[5]; 00150 double length[5]; 00151 double tof[5]; 00152 int nhits[5]; 00153 int nlayer[5]; 00154 int trackId; 00155 double pathSM[5]; 00156 double fiTerm[5]; 00157 //std::cout<<" step 0: "<<std::endl; 00158 00159 00160 RecMdcKalTrack *recMdcKalTrackTds = new RecMdcKalTrack(); 00161 00162 //std::cout<<" step 1: "<<std::endl; 00163 00164 trackId = recMdcKalTrackRoot->getTrackId(); 00165 // std::cout<<"track id: "<<trackId<<std::endl; 00166 recMdcKalTrackTds->setTrackId(trackId); 00167 00168 for (int u=0; u<5; u++){ 00169 mass[u] = recMdcKalTrackRoot->getMass(u); 00170 length[u] = recMdcKalTrackRoot->getLength(u); 00171 tof[u] = recMdcKalTrackRoot->getTof(u); 00172 nhits[u] = recMdcKalTrackRoot->getNhits(u); 00173 fiTerm[u]=recMdcKalTrackRoot->getfiTerm(u); 00174 pathSM[u]=recMdcKalTrackRoot->getPathSM(u); 00175 nlayer[u]=recMdcKalTrackRoot->getNlayer(u); 00176 00177 recMdcKalTrackTds->setMass(mass[u],u); 00178 recMdcKalTrackTds->setLength(length[u],u); 00179 recMdcKalTrackTds->setTof(tof[u],u); 00180 recMdcKalTrackTds->setNhits(nhits[u],u); 00181 recMdcKalTrackTds->setFiTerm(fiTerm[u],u); 00182 recMdcKalTrackTds->setPathSM(pathSM[u],u); 00183 recMdcKalTrackTds->setNlayer(nlayer[u],u); 00184 } 00185 00186 00187 for(int v=0; v<3; v++){ 00188 poca_e[v] = recMdcKalTrackRoot->getPocaE(v); 00189 poca_mu[v] = recMdcKalTrackRoot->getPocaMu(v); 00190 poca[v] = recMdcKalTrackRoot->getPoca(v); 00191 poca_k[v] = recMdcKalTrackRoot->getPocaK(v); 00192 poca_p[v] = recMdcKalTrackRoot->getPocaP(v); 00193 lpivot_e[v] = recMdcKalTrackRoot->getLPivotE(v); 00194 lpivot_mu[v] = recMdcKalTrackRoot->getLPivotMu(v); 00195 lpivot[v] = recMdcKalTrackRoot->getLPivot(v); 00196 lpivot_k[v] = recMdcKalTrackRoot->getLPivotK(v); 00197 lpivot_p[v] = recMdcKalTrackRoot->getLPivotP(v); 00198 lpoint_e[v] = recMdcKalTrackRoot->getLPointE(v); 00199 lpoint_mu[v] = recMdcKalTrackRoot->getLPointMu(v); 00200 lpoint[v] = recMdcKalTrackRoot->getLPoint(v); 00201 lpoint_k[v] = recMdcKalTrackRoot->getLPointK(v); 00202 lpoint_p[v] = recMdcKalTrackRoot->getLPointP(v); 00203 //std::cout<<"poca_e[v]: "<<setprecision(6)<<poca_e[v]<<std::endl; 00204 //std::cout<<"lpoint_e[v]: "<<setprecision(6)<<lpoint_e[v]<<std::endl; 00205 //std::cout<<"lpivot_e[v]: "<<setprecision(6)<<lpivot_e[v]<<std::endl; 00206 00207 } 00208 00209 for (int i=0, k=0; i<5; i++){ 00210 zhelix[i] = recMdcKalTrackRoot->getZHelix(i); 00211 zhelix_e[i] = recMdcKalTrackRoot->getZHelixE(i); 00212 zhelix_mu[i] = recMdcKalTrackRoot->getZHelixMu(i); 00213 zhelix_k[i] = recMdcKalTrackRoot->getZHelixK(i); 00214 zhelix_p[i] = recMdcKalTrackRoot->getZHelixP(i); 00215 00216 00217 fhelix[i] = recMdcKalTrackRoot->getFHelix(i); 00218 fhelix_e[i] = recMdcKalTrackRoot->getFHelixE(i); 00219 fhelix_mu[i] = recMdcKalTrackRoot->getFHelixMu(i); 00220 fhelix_k[i] = recMdcKalTrackRoot->getFHelixK(i); 00221 fhelix_p[i] = recMdcKalTrackRoot->getFHelixP(i); 00222 00223 lhelix[i] = recMdcKalTrackRoot->getLHelix(i); 00224 lhelix_e[i] = recMdcKalTrackRoot->getLHelixE(i); 00225 lhelix_mu[i] = recMdcKalTrackRoot->getLHelixMu(i); 00226 lhelix_k[i] = recMdcKalTrackRoot->getLHelixK(i); 00227 lhelix_p[i] = recMdcKalTrackRoot->getLHelixP(i); 00228 00229 thelix[i] = recMdcKalTrackRoot->getTHelix(i); 00230 00231 for (int j=0; j<=i; j++){ 00232 00233 zerror[i][j] = recMdcKalTrackRoot->getZError(i,j); 00234 zerror_e[i][j] = recMdcKalTrackRoot->getZErrorE(i,j); 00235 zerror_mu[i][j] = recMdcKalTrackRoot->getZErrorMu(i,j); 00236 zerror_k[i][j] = recMdcKalTrackRoot->getZErrorK(i,j); 00237 zerror_p[i][j] = recMdcKalTrackRoot->getZErrorP(i,j); 00238 zerror[j][i] = zerror[i][j]; 00239 zerror_e[j][i] = zerror_e[i][j]; 00240 zerror_mu[j][i] = zerror_mu[i][j]; 00241 zerror_k[j][i] = zerror_k[i][j]; 00242 zerror_p[j][i] = zerror_p[i][j]; 00243 00244 ferror[i][j] = recMdcKalTrackRoot->getFError(i,j); 00245 ferror_e[i][j] = recMdcKalTrackRoot->getFErrorE(i,j); 00246 ferror_mu[i][j] = recMdcKalTrackRoot->getFErrorMu(i,j); 00247 ferror_k[i][j] = recMdcKalTrackRoot->getFErrorK(i,j); 00248 ferror_p[i][j] = recMdcKalTrackRoot->getFErrorP(i,j); 00249 ferror[j][i] = ferror[i][j]; 00250 ferror_e[j][i] = ferror_e[i][j]; 00251 ferror_mu[j][i] = ferror_mu[i][j]; 00252 ferror_k[j][i] = ferror_k[i][j]; 00253 ferror_p[j][i] = ferror_p[i][j]; 00254 00255 lerror[i][j] = recMdcKalTrackRoot->getLError(i,j); 00256 lerror_e[i][j] = recMdcKalTrackRoot->getLErrorE(i,j); 00257 lerror_mu[i][j] = recMdcKalTrackRoot->getLErrorMu(i,j); 00258 lerror_k[i][j] = recMdcKalTrackRoot->getLErrorK(i,j); 00259 lerror_p[i][j] = recMdcKalTrackRoot->getLErrorP(i,j); 00260 lerror[j][i] = lerror[i][j]; 00261 lerror_e[j][i] = lerror_e[i][j]; 00262 lerror_mu[j][i] = lerror_mu[i][j]; 00263 lerror_k[j][i] = lerror_k[i][j]; 00264 lerror_p[j][i] = lerror_p[i][j]; 00265 00266 terror[i][j] = recMdcKalTrackRoot->getTError(k++); 00267 terror[j][i] = terror[i][j]; 00268 00269 } 00270 } 00271 00272 //std::cout<<" step 2: "<<std::endl; 00273 00274 //std::cout<<"T to rec tds: "<<endl; 00275 //std::cout<<"lpoint_e: "<<lpoint_e<<std::endl; 00276 //std::cout<<"lpivot_e: "<<lpivot_e<<std::endl; 00278 zhelixs.push_back(zhelix_e); 00279 zhelixs.push_back(zhelix_mu); 00280 zhelixs.push_back(zhelix); 00281 zhelixs.push_back(zhelix_k); 00282 zhelixs.push_back(zhelix_p); 00283 zerrors.push_back(zerror_e); 00284 zerrors.push_back(zerror_mu); 00285 zerrors.push_back(zerror); 00286 zerrors.push_back(zerror_k); 00287 zerrors.push_back(zerror_p); 00289 fhelixs.push_back(fhelix_e); 00290 fhelixs.push_back(fhelix_mu); 00291 fhelixs.push_back(fhelix); 00292 fhelixs.push_back(fhelix_k); 00293 fhelixs.push_back(fhelix_p); 00294 ferrors.push_back(ferror_e); 00295 ferrors.push_back(ferror_mu); 00296 ferrors.push_back(ferror); 00297 ferrors.push_back(ferror_k); 00298 ferrors.push_back(ferror_p); 00300 lhelixs.push_back(lhelix_e); 00301 lhelixs.push_back(lhelix_mu); 00302 lhelixs.push_back(lhelix); 00303 lhelixs.push_back(lhelix_k); 00304 lhelixs.push_back(lhelix_p); 00305 lerrors.push_back(lerror_e); 00306 lerrors.push_back(lerror_mu); 00307 lerrors.push_back(lerror); 00308 lerrors.push_back(lerror_k); 00309 lerrors.push_back(lerror_p); 00311 00312 pocas.push_back(poca_e); 00313 pocas.push_back(poca_mu); 00314 pocas.push_back(poca); 00315 pocas.push_back(poca_k); 00316 pocas.push_back(poca_p); 00317 lpivots.push_back(lpivot_e); 00318 lpivots.push_back(lpivot_mu); 00319 lpivots.push_back(lpivot); 00320 lpivots.push_back(lpivot_k); 00321 lpivots.push_back(lpivot_p); 00322 lpoints.push_back(lpoint_e); 00323 lpoints.push_back(lpoint_mu); 00324 lpoints.push_back(lpoint); 00325 lpoints.push_back(lpoint_k); 00326 lpoints.push_back(lpoint_p); 00327 00328 for(int m=0; m<5; m++){ 00329 int charge; 00330 double pxy(0.),px(0.),py(0.),pz(0.),ptot(0.),dr(0.),phi0(0.),kappa(0.),dz(0.),tanl(0.),x(0.),y(0.),z(0.),vx0(0.),vy0(0.),vz0(0.); 00331 dr = zhelixs[m][0]; 00332 phi0 = zhelixs[m][1]; 00333 kappa = zhelixs[m][2]; 00334 dz = zhelixs[m][3]; 00335 tanl = zhelixs[m][4]; 00336 00337 // x = pocas[m][0]; 00338 // y = pocas[m][1]; 00339 // z = pocas[m][2]; 00340 x = dr * cos(phi0); 00341 y = dr * sin(phi0); 00342 z = dz; 00343 // std::cout<<"x: "<<x<<"y: "<<y<<"z: "<<z<<std::endl; 00344 00345 if (kappa > 0.0000000001) 00346 charge = 1; 00347 else if (kappa < -0.0000000001) 00348 charge = -1; 00349 else 00350 charge = 0; 00351 00352 if(kappa!=0) pxy = 1.0/fabs(kappa); 00353 else pxy = 0; 00354 00355 px = pxy * (-sin(phi0)); 00356 py = pxy * cos(phi0); 00357 pz = pxy * tanl; 00358 ptot = sqrt(px*px+py*py+pz*pz); 00359 // cout<<"x, y, z, charge, px, py, pz, ptot: "<<x<<" , "<<y<<" , "<<z<<" , "<<charge<<" , "<<px<<" , "<<py<<" , "<<pz<<" , "<<ptot<<endl; 00360 recMdcKalTrackTds->setCharge(charge,m); 00361 recMdcKalTrackTds->setPxy(pxy,m); 00362 recMdcKalTrackTds->setPx(px,m); 00363 recMdcKalTrackTds->setPy(py,m); 00364 recMdcKalTrackTds->setPz(pz,m); 00365 recMdcKalTrackTds->setP(ptot,m); 00366 recMdcKalTrackTds->setTheta(acos(pz/ptot),m); 00367 recMdcKalTrackTds->setPhi(atan2(py,px),m); 00368 recMdcKalTrackTds->setX(x,m); 00369 recMdcKalTrackTds->setY(y,m); 00370 recMdcKalTrackTds->setZ(z,m); 00371 recMdcKalTrackTds->setR(sqrt(x*x+y*y),m); 00373 00374 for(int n=0; n<2; n++){ 00375 int stat = recMdcKalTrackRoot->getStat(n,m); 00376 int chisq = recMdcKalTrackRoot->getChisq(n,m); 00377 int ndf = recMdcKalTrackRoot->getNdf(n,m); 00378 recMdcKalTrackTds->setStat(stat,n,m); 00379 recMdcKalTrackTds->setChisq(chisq,n,m); 00380 recMdcKalTrackTds->setNdf(ndf,n,m); 00381 } 00382 } 00383 00384 //std::cout<<" step 3: "<<std::endl; 00385 00386 00387 00388 for(int jj=0; jj<5; jj++){ 00389 //std::cout<<" step 3.0: "<<std::endl; 00390 //std::cout<<"zhelixs[jj]: "<<zhelixs[jj]<<std::endl; 00391 00392 recMdcKalTrackTds->setZHelix(zhelixs[jj],jj); 00393 //std::cout<<" step 3.1: "<<std::endl; 00394 00395 recMdcKalTrackTds->setZError(zerrors[jj],jj); 00396 recMdcKalTrackTds->setFHelix(fhelixs[jj],jj); 00397 recMdcKalTrackTds->setFError(ferrors[jj],jj); 00398 //std::cout<<" step 3.5: "<<std::endl; 00399 00400 recMdcKalTrackTds->setLHelix(lhelixs[jj],jj); 00401 recMdcKalTrackTds->setLError(lerrors[jj],jj); 00402 recMdcKalTrackTds->setPoca(pocas[jj],jj); 00403 00404 00405 recMdcKalTrackTds->setLPoint(lpoints[jj],jj); 00406 recMdcKalTrackTds->setLPivot(lpivots[jj],jj); 00407 } 00408 recMdcKalTrackTds->setTHelix(thelix); 00409 recMdcKalTrackTds->setTError(terror); 00410 00411 //std::cout<<" step 4: "<<std::endl; 00412 00413 00414 log<<MSG::DEBUG<<"T to REC TDS, zhelix: "<<zhelix<<endreq; 00415 log<<MSG::DEBUG<<"T to REC TDS, zerror: "<<zerror<<endreq; 00416 00417 m_common.m_rootRecMdcKalTrackMap[recMdcKalTrackRoot] = recMdcKalTrackTds; 00418 00419 int nSegTot=0; 00420 for(int i=0; i<5; i++) { 00421 HelixSegRefVec theKalHelixSegRefVec; 00422 00423 int nSeg=recMdcKalTrackRoot->getNseg(i); 00424 int iSeg=0; 00425 RecMdcKalHelixSegCol::iterator iter = recMdcKalHelixSegCol->begin(); 00426 for (;iter != recMdcKalHelixSegCol->end(); iter++){ 00427 00428 //cout<<" (*iter)->getTrkId(): "<<(*iter)->getTrkId()<<endl; 00429 if((*iter)->getTrackId() == trackId){ 00430 if(iSeg>=nSegTot&&iSeg<nSeg+nSegTot) { 00431 SmartRef<RecMdcKalHelixSeg> refhit(*iter); 00432 theKalHelixSegRefVec.push_back(refhit); 00433 } 00434 iSeg++; 00435 } 00436 } 00437 nSegTot+=nSeg; 00438 00439 recMdcKalTrackTds->setVecHelixSegs(theKalHelixSegRefVec,i); 00440 } 00441 00442 int nhelixsegs = recMdcKalTrackTds->getVecHelixSegs().size(); 00443 00444 //std::cout<<" mdc hits: "<<nhelixsegs<< std::endl; 00445 00446 for(int ii=0; ii <nhelixsegs ; ii++){ 00447 00448 //cout<<"ddl: "<<(recMdcTrack->getVecKalHelixSegs()[ii])->getDriftDistLeft()<<endl; 00449 //cout<<"erddl: "<<(recMdcTrack->getVecKalHelixSegs()[ii])->getErrDriftDistLeft()<<endl; 00450 Identifier id(recMdcKalTrackTds->getVecHelixSegs()[ii]->getMdcId()); 00451 int layer = MdcID::layer(id); 00452 int wire = MdcID::wire(id); 00453 //cout<<"layer: "<<layer<<" wire: "<<wire<<endl; 00454 } 00455 00456 recMdcKalTrackCol->push_back(recMdcKalTrackTds); 00457 00458 } 00459 00460 delete m_recMdcKalTrackCol; 00461 00462 m_recMdcKalTrackCol = 0; 00463 00464 return StatusCode::SUCCESS; 00465 }
friend class CnvFactory< RecMdcKalTrackCnv > [friend] |
Definition at line 17 of file RecMdcKalTrackCnv.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::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(), 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(), 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(), EvtRecTrackCnv::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 RecMdcKalTrackCnv::m_common [private] |
relational maps
Definition at line 38 of file RecMdcKalTrackCnv.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(), 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(), EvtRecTrackCnv::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().
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().
TObjArray* RecMdcKalTrackCnv::m_recMdcKalTrackCol [private] |
root object to be read
Definition at line 41 of file RecMdcKalTrackCnv.h.
Referenced by DataObjectToTObject(), RecMdcKalTrackCnv(), and TObjectToDataObject().
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::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(), 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().