RecEmcShowerCnv Class Reference

#include <RecEmcShowerCnv.h>

Inheritance diagram for RecEmcShowerCnv:

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

Public Types

typedef Ty1 source
typedef Ty2 destination

Public Member Functions

virtual ~RecEmcShowerCnv ()
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

 RecEmcShowerCnv (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_recEmcShowerCol
 root object to be read

Friends

class CnvFactory< RecEmcShowerCnv >

Detailed Description

Definition at line 15 of file RecEmcShowerCnv.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 RecEmcShowerCnv::~RecEmcShowerCnv (  )  [inline, virtual]

Definition at line 25 of file RecEmcShowerCnv.h.

00025 { };

RecEmcShowerCnv::RecEmcShowerCnv ( ISvcLocator *  svc  )  [protected]

Definition at line 34 of file RecEmcShowerCnv.cxx.

References RootEventBaseCnv::m_adresses, m_recEmcShowerCol, RootEventBaseCnv::m_rootBranchname, and msgSvc().

00035 : RootEventBaseCnv(classID(), svc)
00036 {
00037 
00038   RecEmcShower *aShower = new RecEmcShower();
00039   //cout<<"in RecEmcShowerCnv::constructor:: showid= "<<aShower->clID()<<endl;
00040   delete aShower;
00041 
00042   // Here we associate this converter with the /Event path on the TDS.
00043   MsgStream log(msgSvc(), "RecEmcShowerCnv");
00044   //log << MSG::DEBUG << "Constructor called for " << objType() << endreq;
00045   //m_rootTreename ="Rec";
00046   m_rootBranchname ="m_recEmcShowerCol";
00047   //declareObject(EventModel::Recon::RecEmcShowerCol, objType(), m_rootTreename, m_rootBranchname);
00048   m_adresses.push_back(&m_recEmcShowerCol);
00049   m_recEmcShowerCol=0;
00050 }


Member Function Documentation

static const CLID& RecEmcShowerCnv::classID (  )  [inline, static]

Definition at line 20 of file RecEmcShowerCnv.h.

References CLID_RecEmcShowerCol.

Referenced by RootCnvSvc::addConverters().

00021   {
00022        return CLID_RecEmcShowerCol; 
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(), RecMdcKalTrackCnv::DataObjectToTObject(), RecMdcKalHelixSegCnv::DataObjectToTObject(), RecMdcHitCnv::DataObjectToTObject(), RecMdcDedxHitCnv::DataObjectToTObject(), RecMdcDedxCnv::DataObjectToTObject(), RecExtTrackCnv::DataObjectToTObject(), RecEvTimeCnv::DataObjectToTObject(), 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 RecEmcShowerCnv::DataObjectToTObject ( DataObject *  obj,
RootAddress addr 
) [protected, virtual]

transformation to root

Implements RootEventBaseCnv.

Definition at line 223 of file RecEmcShowerCnv.cxx.

References TRecTrackEvent::addEmcShower(), TRecTrackEvent::clearEmcShowerCol(), RootEventBaseCnv::createRep(), Bes_Common::DEBUG, energy, showlog::err, calibUtil::ERROR, EventModel::Recon::Event, TRecTrackEvent::getEmcShowerCol(), RootCnvSvc::getRecTrackCnv(), RecTrackCnv::getWriteObject(), RootEventBaseCnv::m_cnvSvc, RootEventBaseCnv::m_eds, msgSvc(), TRecEmcShower::setA20Moment(), TRecEmcShower::setA42Moment(), TRecEmcShower::setCellId(), TRecEmcShower::setCellId3x3(), TRecEmcShower::setCellId5x5(), TRecEmcShower::setCellIdMap(), TRecEmcShower::setClusterId(), TRecEmcShower::setDE(), TRecEmcShower::setDphi(), TRecEmcShower::setDtheta(), TRecEmcShower::setE3x3(), TRecEmcShower::setE5x5(), TRecEmcShower::setEAll(), TRecEmcShower::setELepton(), TRecEmcShower::setEnergy(), TRecEmcShower::setErr(), TRecEmcShower::setESeed(), TRecEmcShower::setLatMoment(), TRecEmcShower::setModule(), TRecEmcShower::setNumHits(), TRecEmcShower::setPhi(), TRecEmcShower::setSecondMoment(), TRecEmcShower::setStatus(), TRecEmcShower::setTheta(), TRecEmcShower::setTime(), TRecEmcShower::setTrackId(), TRecEmcShower::setX(), TRecEmcShower::setY(), TRecEmcShower::setZ(), and x.

00224 {
00225   MsgStream log(msgSvc(), "RecEmcShowerCnv");
00226   log << MSG::DEBUG << "RecEmcShowerCnv::DataObjectToTObject" << endreq;
00227   //cout << "RecEmcShowerCnv::DataObjectToTObject" << endl;
00228   StatusCode sc=StatusCode::SUCCESS;
00229 
00230   RecEmcShowerCol * emcShowerColTds=dynamic_cast<RecEmcShowerCol *> (obj);
00231   if (!emcShowerColTds) {
00232     log << MSG::ERROR << "Could not downcast to RecEmcShowerCol" << endreq;
00233     return StatusCode::FAILURE;
00234   }
00235 
00236   DataObject *evt;
00237   m_eds->findObject(EventModel::Recon::Event,evt);
00238   if (evt==NULL) {
00239     log << MSG::ERROR << "Could not get RecEvent in TDS "  << endreq;
00240     return StatusCode::FAILURE;
00241   }
00242   ReconEvent * devtTds=dynamic_cast<ReconEvent *> (evt);
00243   if (!devtTds) {
00244     log << MSG::ERROR << "RecEmcShowerCnv:Could not downcast to TDS DstEvent" << endreq;
00245   }
00246   IOpaqueAddress *addr;
00247 
00248   m_cnvSvc->getRecTrackCnv()->createRep(evt,addr); 
00249   TRecTrackEvent *recEvt=m_cnvSvc->getRecTrackCnv()->getWriteObject();
00250 
00251   const TObjArray *m_emcShowerCol = recEvt->getEmcShowerCol();
00252   if (!m_emcShowerCol) return sc;
00253   recEvt->clearEmcShowerCol(); //necessary in case there is I/O at the same time since array is static
00254   RecEmcShowerCol::const_iterator emcShowerTds;
00255 
00256   for (emcShowerTds = emcShowerColTds->begin(); emcShowerTds != emcShowerColTds->end(); emcShowerTds++) {
00257     Int_t       trackId = (*emcShowerTds)->trackId();
00258     Int_t       numHits = (*emcShowerTds)->numHits(); 
00259     Int_t       status =(*emcShowerTds)->status(); 
00260     Int_t       cellId =(*emcShowerTds)->getShowerId(); 
00261     Int_t       clusterId =     (*emcShowerTds)->getClusterId(); 
00262     Int_t       module =(*emcShowerTds)->module(); 
00263     Double_t    x =     (*emcShowerTds)->x();      
00264     Double_t    y =     (*emcShowerTds)->y();      
00265     Double_t    z =     (*emcShowerTds)->z();      
00266     Double_t    theta = (*emcShowerTds)->theta();  
00267     Double_t    dtheta =(*emcShowerTds)->dtheta(); 
00268     Double_t    phi    =(*emcShowerTds)->phi();    
00269     Double_t    dphi   =(*emcShowerTds)->dphi();   
00270     Double_t    energy =  (*emcShowerTds)->energy();  
00271     Double_t    dE    = (*emcShowerTds)->dE();     
00272     Double_t    eSeed  = (*emcShowerTds)->eSeed();
00273     Double_t    e3x3  = (*emcShowerTds)->e3x3();
00274     Double_t    e5x5  = (*emcShowerTds)->e5x5();
00275     Double_t    eall  = (*emcShowerTds)->getEAll();
00276     Double_t    elepton  = (*emcShowerTds)->getELepton();
00277     Double_t    time  = (Int_t)(*emcShowerTds)->time();
00278     Double_t    secondMoment = (*emcShowerTds)->secondMoment();
00279     Double_t    latMoment = (*emcShowerTds)->latMoment();
00280     Double_t    a20Moment = (*emcShowerTds)->a20Moment();
00281     Double_t    a42Moment = (*emcShowerTds)->a42Moment();
00282 
00283     HepSymMatrix matrix   = (*emcShowerTds)->errorMatrix();
00284     //cout<<"matrix: \n"<<matrix<<endl;
00285     Double_t    err[6];
00286     err[0] = matrix[0][0];
00287     err[1] = matrix[1][1];
00288     err[2] = matrix[2][2];
00289     err[3] = matrix[0][1];
00290     err[4] = matrix[0][2];
00291     err[5] = matrix[1][2];
00292 
00293     map<Int_t, Double_t> cellIdMap;
00294     RecEmcFractionMap::const_iterator pFractionMap;
00295 
00296     for(pFractionMap=(*emcShowerTds)->Begin();
00297         pFractionMap!=(*emcShowerTds)->End();
00298         pFractionMap++) {
00299       Int_t id = pFractionMap->first;
00300       Double_t frac = pFractionMap->second.getFraction();
00301       cellIdMap[id]=frac;
00302     }
00303 
00304     vector<Int_t> cellId3x3;
00305     RecEmcIDVector id3x3 = (*emcShowerTds)->getCellId3x3();
00306     ci_RecEmcIDVector ciCellId;
00307     for(ciCellId=id3x3.begin();
00308         ciCellId!=id3x3.end();
00309         ciCellId++) {
00310       Int_t id = *ciCellId;
00311       cellId3x3.push_back(id);
00312     }
00313 
00314     vector<Int_t> cellId5x5;
00315     RecEmcIDVector id5x5 = (*emcShowerTds)->getCellId5x5();
00316     for(ciCellId=id5x5.begin();
00317         ciCellId!=id5x5.end();
00318         ciCellId++) {
00319       Int_t id = *ciCellId;
00320       cellId5x5.push_back(id);
00321     }
00322 
00323     TRecEmcShower *emcShowerRoot = new TRecEmcShower();
00324     //m_common.m_recEmcShowerMap[(*emcShowerTds)] = emcShowerRoot;
00325 
00326     //emcShowerRoot->initialize(numHits ,status ,cellId ,module ,x ,dx,y ,dy,z ,dz,theta ,dtheta ,phi,dphi ,energy ,dE,cosx ,cosy ,cosz);
00327     emcShowerRoot->setTrackId(trackId );
00328     emcShowerRoot->setNumHits(numHits );    
00329     emcShowerRoot->setStatus(status );     
00330     emcShowerRoot->setCellId( cellId );     
00331     emcShowerRoot->setClusterId( clusterId );     
00332     emcShowerRoot->setModule( module);     
00333     emcShowerRoot->setX( x    );     
00334     emcShowerRoot->setY( y    );     
00335     emcShowerRoot->setZ( z    );     
00336     emcShowerRoot->setEnergy( energy  );    
00337     emcShowerRoot->setDE( dE  );     
00338     emcShowerRoot->setTheta( theta  );  
00339     emcShowerRoot->setDtheta( dtheta     );  
00340     emcShowerRoot->setPhi( phi       );  
00341     emcShowerRoot->setDphi( dphi     );  
00342     emcShowerRoot->setESeed( eSeed     );
00343     emcShowerRoot->setE3x3( e3x3    );
00344     emcShowerRoot->setE5x5( e5x5     );  
00345     emcShowerRoot->setEAll( eall     );  
00346     emcShowerRoot->setELepton( elepton     );  
00347     emcShowerRoot->setTime( time );
00348     emcShowerRoot->setSecondMoment(secondMoment); 
00349     emcShowerRoot->setLatMoment(latMoment); 
00350     emcShowerRoot->setA20Moment(a20Moment); 
00351     emcShowerRoot->setA42Moment(a42Moment); 
00352     emcShowerRoot->setErr( err );   
00353     //emcShowerRoot->setVecHits(vecHits);
00354 
00355     emcShowerRoot->setCellIdMap(cellIdMap);
00356     emcShowerRoot->setCellId3x3(cellId3x3);
00357     emcShowerRoot->setCellId5x5(cellId5x5);
00358 
00359     recEvt->addEmcShower(emcShowerRoot);
00360   }
00361   return StatusCode::SUCCESS;
00362 }
00363 #endif

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 RecEmcShowerCnv::TObjectToDataObject ( DataObject *&  obj  )  [protected, virtual]

transformation from root

Implements RootEventBaseCnv.

Definition at line 52 of file RecEmcShowerCnv.cxx.

References TRecEmcShower::a20Moment(), TRecEmcShower::a42Moment(), TRecEmcShower::cellId(), RecEmcShower::CellId3x3(), TRecEmcShower::cellId3x3(), RecEmcShower::CellId5x5(), TRecEmcShower::cellId5x5(), TRecEmcShower::cellIdMap(), RecEmcShower::Cluster(), RecEmcShower::ClusterId(), TRecEmcShower::clusterId(), TRecEmcShower::dE(), Bes_Common::DEBUG, TRecEmcShower::dphi(), TRecEmcShower::dtheta(), TRecEmcShower::e3x3(), TRecEmcShower::e5x5(), RecEmcShower::EAll(), TRecEmcShower::eAll(), RecEmcShower::ELepton(), TRecEmcShower::eLepton(), TRecEmcShower::energy(), energy, TRecEmcShower::err(), TRecEmcShower::eSeed(), RecEmcFraction::Fraction(), Bes_Common::INFO, RecEmcShower::Insert(), TRecEmcShower::latMoment(), m_common, m_recEmcShowerCol, commonData::m_rootRecEmcShowerMap, TRecEmcShower::module(), msgSvc(), TRecEmcShower::numHits(), TRecEmcShower::phi(), boss::pos, EventModel::Recon::RecEmcClusterCol, EventModel::Recon::RecEmcHitCol, TRecEmcShower::secondMoment(), DstEmcShower::setA20Moment(), DstEmcShower::setA42Moment(), DstEmcShower::setCellId(), DstEmcShower::setDE(), DstEmcShower::setDphi(), DstEmcShower::setDtheta(), DstEmcShower::setE3x3(), DstEmcShower::setE5x5(), DstEmcShower::setEnergy(), DstEmcShower::setErrorMatrix(), DstEmcShower::setESeed(), DstEmcShower::setLatMoment(), DstEmcShower::setModule(), DstEmcShower::setNumHits(), DstEmcShower::setPosition(), DstEmcShower::setSecondMoment(), DstEmcShower::setStatus(), DstEmcShower::setTime(), DstEmcShower::setTrackId(), RecEmcShower::ShowerId(), TRecEmcShower::status(), TRecEmcShower::theta(), TRecEmcShower::time(), TRecEmcShower::trackId(), TRecEmcShower::x(), x, TRecEmcShower::y(), and TRecEmcShower::z().

00052                                                                        {
00053   // creation of TDS object from root object
00054 
00055   MsgStream log(msgSvc(), "RecEmcShowerCnv");
00056   log << MSG::DEBUG << "RecEmcShowerCnv::TObjectToDataObject" << endreq;
00057   //cout << "RecEmcShowerCnv::TObjectToDataObject" << endl;
00058   StatusCode sc=StatusCode::SUCCESS;
00059 
00060   IDataProviderSvc* eventSvc;
00061   Gaudi::svcLocator()->service("EventDataSvc", eventSvc);
00062   
00063   SmartDataPtr<RecEmcHitCol> emcRecHitCol(eventSvc,
00064       EventModel::Recon::RecEmcHitCol);
00065   if(!emcRecHitCol) log << MSG::INFO << "can't retrieve RecEmcHitCol" << endreq;
00066   
00067   SmartDataPtr<RecEmcClusterCol> emcRecClusterCol(eventSvc,
00068       EventModel::Recon::RecEmcClusterCol);
00069   if(!emcRecClusterCol) log << MSG::INFO << "can't retrieve RecEmcClusterCol" << endreq;
00070   
00071   // create the TDS location for the RecEmcShower Collection
00072   RecEmcShowerCol* emcShowerTdsCol = new RecEmcShowerCol;
00073   refpObject=emcShowerTdsCol;
00074 
00075   // now convert
00076   if (!m_recEmcShowerCol) return sc;
00077   TIter emcShowerIter(m_recEmcShowerCol);
00078   TRecEmcShower *emcShowerRoot = 0;
00079   while ((emcShowerRoot = (TRecEmcShower*)emcShowerIter.Next())) {
00080     int       trackId = emcShowerRoot->trackId();
00081     int       numHits = emcShowerRoot->numHits(); 
00082     int       status =  emcShowerRoot->status(); 
00083     int       cellId =  emcShowerRoot->cellId(); 
00084     int       module =  emcShowerRoot->module(); 
00085     double    x =       emcShowerRoot->x();      
00086     double    y =       emcShowerRoot->y();      
00087     double    z =       emcShowerRoot->z();      
00088     double    theta =   emcShowerRoot->theta();  
00089     double    dtheta =  emcShowerRoot->dtheta(); 
00090     double    phi    =  emcShowerRoot->phi();    
00091     double    dphi   =  emcShowerRoot->dphi();   
00092     double    energy =  emcShowerRoot->energy();  
00093     double    dE    =   emcShowerRoot->dE();     
00094     double  eSeed =  emcShowerRoot->eSeed();
00095     double  e3x3 =  emcShowerRoot->e3x3();
00096     double  e5x5 =  emcShowerRoot->e5x5();
00097     double  eall =  emcShowerRoot->eAll();
00098     double  elepton =  emcShowerRoot->eLepton();
00099     double  time = emcShowerRoot->time();
00100     double  secondMoment = emcShowerRoot->secondMoment();
00101     double  latMoment = emcShowerRoot->latMoment();
00102     double  a20Moment = emcShowerRoot->a20Moment();
00103     double  a42Moment = emcShowerRoot->a42Moment();
00104 
00105     HepSymMatrix matrix(3);
00106     matrix[0][0]=emcShowerRoot->err(0);
00107     matrix[1][1]=emcShowerRoot->err(1);
00108     matrix[2][2]=emcShowerRoot->err(2);
00109     matrix[0][1]=emcShowerRoot->err(3);
00110     matrix[0][2]=emcShowerRoot->err(4);
00111     matrix[1][2]=emcShowerRoot->err(5);
00112 
00113     RecEmcID showerId(cellId);
00114     RecEmcID clusterId(emcShowerRoot->clusterId());
00115     
00116     RecEmcIDVector id3x3;
00117     vector<Int_t> cellId3x3 = emcShowerRoot->cellId3x3();
00118     vector<Int_t>::iterator iCellId;
00119     //cout<<"id3x3"<<endl;
00120     for(iCellId=cellId3x3.begin();
00121         iCellId!=cellId3x3.end();
00122         iCellId++) {
00123       RecEmcID id(*iCellId);
00124       //cout<<"id="<<id<<endl;
00125       id3x3.push_back(id);
00126     }
00127 
00128     RecEmcIDVector id5x5;
00129     vector<Int_t> cellId5x5 = emcShowerRoot->cellId5x5();
00130     //cout<<"id5x5"<<endl;
00131     for(iCellId=cellId5x5.begin();
00132         iCellId!=cellId5x5.end();
00133         iCellId++) {
00134       RecEmcID id(*iCellId);
00135       //cout<<"id="<<id<<endl;
00136       id5x5.push_back(id);
00137     }
00138 
00139     RecEmcShower *emcShowerTds = new RecEmcShower();
00140     m_common.m_rootRecEmcShowerMap[emcShowerRoot] = emcShowerTds;
00141 
00142     emcShowerTds->setTrackId(trackId );
00143     emcShowerTds->setNumHits(numHits );    
00144     emcShowerTds->setStatus(status );     
00145     emcShowerTds->setCellId( cellId );     
00146     emcShowerTds->setModule( module);     
00147 
00148     HepPoint3D pos(x,y,z);
00149     emcShowerTds->setPosition(pos);
00150     emcShowerTds->setEnergy( energy  );    
00151     emcShowerTds->setDE( dE  );     
00152     emcShowerTds->setDtheta( dtheta     );  
00153     emcShowerTds->setDphi( dphi     );  
00154     emcShowerTds->setESeed(eSeed);
00155     emcShowerTds->setE3x3(e3x3);
00156     emcShowerTds->setE5x5(e5x5);
00157     emcShowerTds->EAll(eall);
00158     emcShowerTds->ELepton(elepton);
00159     emcShowerTds->setTime(time);
00160     emcShowerTds->setSecondMoment(secondMoment); 
00161     emcShowerTds->setLatMoment(latMoment); 
00162     emcShowerTds->setA20Moment(a20Moment); 
00163     emcShowerTds->setA42Moment(a42Moment); 
00164     emcShowerTds->setErrorMatrix( matrix );   
00165 
00166     emcShowerTds->ShowerId(showerId);     
00167     emcShowerTds->ClusterId(clusterId);     
00168     emcShowerTds->CellId3x3(id3x3);
00169     emcShowerTds->CellId5x5(id5x5);
00170     
00171     //put fraction map into shower
00172     if(emcRecHitCol) {
00173       map<Int_t, Double_t> cellIdMap=emcShowerRoot->cellIdMap();
00174       map<Int_t, Double_t>::iterator iCellIdMap;
00175       for(iCellIdMap=cellIdMap.begin();
00176           iCellIdMap!=cellIdMap.end();
00177           iCellIdMap++) {
00178         
00179         RecEmcID id(iCellIdMap->first);
00180         
00181         RecEmcHitCol::iterator iHit;
00182         for(iHit=emcRecHitCol->begin();
00183             iHit!=emcRecHitCol->end();
00184             iHit++) {
00185           
00186           RecEmcID idHit((*iHit)->getCellId());
00187 
00188           if(id==idHit) {
00189             RecEmcFraction frac(*(*iHit));
00190             frac.Fraction(iCellIdMap->second);
00191             emcShowerTds->Insert(frac);
00192             break;
00193           }
00194         } //RecEmcHitCol
00195       } //CellIdMap
00196     }
00197 
00198     if(emcRecClusterCol) {
00199       RecEmcClusterCol::iterator iCluster;
00200       for(iCluster=emcRecClusterCol->begin();
00201           iCluster!=emcRecClusterCol->end();
00202           iCluster++) {
00203         if(clusterId==(*iCluster)->getClusterId()) {
00204           emcShowerTds->Cluster(*iCluster);
00205           break;
00206           //emcRecClusterCol->InsertShower(*iCluster);
00207         }
00208       }
00209     }
00210 
00211     emcShowerTdsCol->push_back(emcShowerTds);
00212     //     delete emcShowerTds;
00213     // emcShowerTds = NULL;
00214   }
00215 
00216   //m_recEmcShowerCol->Delete();  // wensp add 2005/12/30
00217   delete m_recEmcShowerCol;
00218   m_recEmcShowerCol = 0;  
00219 
00220   return StatusCode::SUCCESS;
00221 }


Friends And Related Function Documentation

friend class CnvFactory< RecEmcShowerCnv > [friend]

Definition at line 17 of file RecEmcShowerCnv.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(), RecETofCalHitCnv::RecETofCalHitCnv(), RecEvTimeCnv::RecEvTimeCnv(), RecExtTrackCnv::RecExtTrackCnv(), RecMdcDedxCnv::RecMdcDedxCnv(), RecMdcDedxHitCnv::RecMdcDedxHitCnv(), RecMdcHitCnv::RecMdcHitCnv(), RecMdcKalHelixSegCnv::RecMdcKalHelixSegCnv(), RecMdcKalTrackCnv::RecMdcKalTrackCnv(), RecMdcTrackCnv::RecMdcTrackCnv(), RecMucRecHitCnv::RecMucRecHitCnv(), RecMucTrackCnv::RecMucTrackCnv(), RecTofTrackCnv::RecTofTrackCnv(), RecZddChannelCnv::RecZddChannelCnv(), TofDigiCnv::TofDigiCnv(), TofMcHitCnv::TofMcHitCnv(), TofTrackCnv::TofTrackCnv(), and TrigDataCnv::TrigDataCnv().

int RootEventBaseCnv::m_branchNr [protected, inherited]

the branchNr of this converter for writing

Definition at line 49 of file RootEventBaseCnv.h.

Referenced by TrigCnv::DataObjectToTObject(), HltCnv::DataObjectToTObject(), DigiCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

int RootEventBaseCnv::m_branchNrDst [protected, inherited]

Definition at line 50 of file RootEventBaseCnv.h.

Referenced by DstCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

int RootEventBaseCnv::m_branchNrEvtHeader [protected, inherited]

Definition at line 54 of file RootEventBaseCnv.h.

Referenced by EvtHeaderCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

int RootEventBaseCnv::m_branchNrEvtNavigator [protected, inherited]

Definition at line 55 of file RootEventBaseCnv.h.

Referenced by EvtNavigatorCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

int RootEventBaseCnv::m_branchNrEvtRec [protected, inherited]

Definition at line 53 of file RootEventBaseCnv.h.

Referenced by EvtRecCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

int RootEventBaseCnv::m_branchNrMc [protected, inherited]

Definition at line 51 of file RootEventBaseCnv.h.

Referenced by McCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

int RootEventBaseCnv::m_branchNrRecon [protected, inherited]

Definition at line 52 of file RootEventBaseCnv.h.

Referenced by RecTrackCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

TArrayS* RootEventBaseCnv::m_branchNumbers [protected, inherited]

array with number of branches for reading

Definition at line 64 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::createObj(), and RootEventBaseCnv::RootEventBaseCnv().

RootCnvSvc* RootEventBaseCnv::m_cnvSvc [protected, inherited]

Definition at line 39 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::createRep(), TrigDataCnv::DataObjectToTObject(), RecZddChannelCnv::DataObjectToTObject(), RecTofTrackCnv::DataObjectToTObject(), RecMucTrackCnv::DataObjectToTObject(), RecMdcTrackCnv::DataObjectToTObject(), RecMdcKalTrackCnv::DataObjectToTObject(), RecMdcKalHelixSegCnv::DataObjectToTObject(), RecMdcHitCnv::DataObjectToTObject(), RecMdcDedxHitCnv::DataObjectToTObject(), RecMdcDedxCnv::DataObjectToTObject(), RecExtTrackCnv::DataObjectToTObject(), RecEvTimeCnv::DataObjectToTObject(), 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 RecEmcShowerCnv::m_common [private]

relational maps

Definition at line 38 of file RecEmcShowerCnv.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(), RecMdcKalTrackCnv::DataObjectToTObject(), RecMdcKalHelixSegCnv::DataObjectToTObject(), RecMdcHitCnv::DataObjectToTObject(), RecMdcDedxHitCnv::DataObjectToTObject(), RecMdcDedxCnv::DataObjectToTObject(), RecExtTrackCnv::DataObjectToTObject(), RecEvTimeCnv::DataObjectToTObject(), 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* RecEmcShowerCnv::m_recEmcShowerCol [private]

root object to be read

Definition at line 41 of file RecEmcShowerCnv.h.

Referenced by RecEmcShowerCnv(), 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(), RecETofCalHitCnv::RecETofCalHitCnv(), RecEvTimeCnv::RecEvTimeCnv(), RecExtTrackCnv::RecExtTrackCnv(), RecMdcDedxCnv::RecMdcDedxCnv(), RecMdcDedxHitCnv::RecMdcDedxHitCnv(), RecMdcHitCnv::RecMdcHitCnv(), RecMdcKalHelixSegCnv::RecMdcKalHelixSegCnv(), RecMdcKalTrackCnv::RecMdcKalTrackCnv(), RecMdcTrackCnv::RecMdcTrackCnv(), RecMucRecHitCnv::RecMucRecHitCnv(), RecMucTrackCnv::RecMucTrackCnv(), RecTrackCnv::RecTrackCnv(), RecZddChannelCnv::RecZddChannelCnv(), TofDigiCnv::TofDigiCnv(), TofMcHitCnv::TofMcHitCnv(), TofTrackCnv::TofTrackCnv(), and TrigDataCnv::TrigDataCnv().

RootInterface* RootEventBaseCnv::m_rootInterface [protected, inherited]

pointer to the RootInterface

Definition at line 43 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::createObj(), TrigCnv::DataObjectToTObject(), RecTrackCnv::DataObjectToTObject(), McCnv::DataObjectToTObject(), HltCnv::DataObjectToTObject(), EvtRecCnv::DataObjectToTObject(), EvtNavigatorCnv::DataObjectToTObject(), EvtHeaderCnv::DataObjectToTObject(), DstCnv::DataObjectToTObject(), DigiCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

std::string RootEventBaseCnv::m_rootTreename [protected, inherited]

each converter knows it's treename

Definition at line 69 of file RootEventBaseCnv.h.

Referenced by EmcTrackCnv::EmcTrackCnv(), RecEmcHitCnv::RecEmcHitCnv(), and RecMucRecHitCnv::RecMucRecHitCnv().


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