RecMdcKalTrackCnv Class Reference

#include <RecMdcKalTrackCnv.h>

Inheritance diagram for RecMdcKalTrackCnv:

RootEventBaseCnv Converter< Ty1, Ty2 > List of all members.

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
destinationoperator (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 destinationconvert (const source &) const =0

Protected Attributes

RootCnvSvcm_cnvSvc
std::vector< RootCnvSvc::Leafm_leaves
RootInterfacem_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
RootEvtSelectorm_evtsel

Private Attributes

commonData m_common
 relational maps
TObjArray * m_recMdcKalTrackCol
 root object to be read

Friends

class CnvFactory< RecMdcKalTrackCnv >

Detailed Description

Definition at line 15 of file RecMdcKalTrackCnv.h.


Member Typedef Documentation

template<class Ty1, class Ty2>
typedef Ty2 Converter< Ty1, Ty2 >::destination [inherited]

Definition at line 19 of file Converter.h.

template<class Ty1, class Ty2>
typedef Ty1 Converter< Ty1, Ty2 >::source [inherited]

Definition at line 18 of file Converter.h.


Constructor & Destructor Documentation

virtual RecMdcKalTrackCnv::~RecMdcKalTrackCnv (  )  [inline, virtual]

Definition at line 25 of file RecMdcKalTrackCnv.h.

00025 { };

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 }


Member Function Documentation

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   }

template<class Ty1, class Ty2>
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 }

template<class Ty1, class Ty2>
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 }


Friends And Related Function Documentation

friend class CnvFactory< RecMdcKalTrackCnv > [friend]

Definition at line 17 of file RecMdcKalTrackCnv.h.


Member Data Documentation

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]

Definition at line 71 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::createObj().

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]

Definition at line 40 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::declareObject().

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().


Generated on Tue Nov 29 23:20:56 2016 for BOSS_7.0.2 by  doxygen 1.4.7