/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/RootCnvSvc/RootCnvSvc-02-01-12/src/Dst/MdcKalTrackCnv.cxx

Go to the documentation of this file.
00001 #ifndef MdcKalTrackCnv_CXX
00002 #define MdcKalTrackCnv_CXX  1
00003 
00004 #include "GaudiKernel/MsgStream.h"
00005 #include "GaudiKernel/DataObject.h"
00006 #include "GaudiKernel/ObjectVector.h"
00007 
00008 #include "TClonesArray.h"
00009 
00010 #include "EventModel/EventModel.h"
00011 #include "DstEvent/DstEvent.h"   //TDS object
00012 #include "DstEvent/DstMdcKalTrack.h"   //TDS object
00013 #include "MdcRecEvent/RecMdcKalTrack.h"
00014 #include "RootEventData/TMdcKalTrack.h" // standard root object
00015 #include "RootEventData/TDstEvent.h"
00016 
00017 #include "RootCnvSvc/Dst/DstCnv.h"
00018 #include "RootCnvSvc/Dst/MdcKalTrackCnv.h"
00019 #include "RootCnvSvc/RootAddress.h"
00020 
00021 #include "CLHEP/Matrix/Vector.h"
00022 #include "CLHEP/Matrix/SymMatrix.h"
00023 #include "CLHEP/Vector/ThreeVector.h"
00024 #include "CLHEP/Geometry/Point3D.h"
00025 #include <vector>
00026 #include "string.h"
00027 #include <cmath>
00028 
00029 using CLHEP::HepVector;
00030 using CLHEP::HepSymMatrix;
00031 
00032 
00033 MdcKalTrackCnv::MdcKalTrackCnv(ISvcLocator* svc)
00034 : RootEventBaseCnv(classID(), svc)
00035 {
00036     // Here we associate this converter with the /Event path on the TDS.
00037     MsgStream log(msgSvc(), "MdcKalTrackCnv");
00038     m_rootBranchname ="m_mdcKalTrackCol";
00039     m_adresses.push_back(&m_mdcKalTrackCol);
00040     m_mdcKalTrackCol=0;
00041 }
00042 
00043 StatusCode MdcKalTrackCnv::TObjectToDataObject(DataObject*& refpObject) {
00044   // creation of TDS object from root object
00045 
00046     MsgStream log(msgSvc(), "MdcKalTrackCnv");
00047     log << MSG::DEBUG << "MdcKalTrackCnv::TObjectToDataObject" << endreq;
00048     StatusCode sc=StatusCode::SUCCESS;
00049 
00050     // create the TDS location for the MdcKalTrack Collection
00051     DstMdcKalTrackCol* mdcKalTrackTdsCol = new DstMdcKalTrackCol;
00052     refpObject=mdcKalTrackTdsCol;
00053 
00054     // now convert
00055     if (!m_mdcKalTrackCol) return sc;
00056     TIter mdcKalTrackIter(m_mdcKalTrackCol);
00057     TMdcKalTrack *mdcKalTrackRoot = 0;
00058     while ((mdcKalTrackRoot = (TMdcKalTrack*)mdcKalTrackIter.Next())) {
00059      std::vector<HepVector> zhelixs;
00060      std::vector<HepSymMatrix> zerrors;
00061      std::vector<HepPoint3D> pocas;
00062      std::vector<HepVector> fhelixs;
00063      std::vector<HepSymMatrix> ferrors;
00064 
00065      HepVector zhelix(5); 
00066      HepSymMatrix zerror(5); 
00067      HepPoint3D poca(0,0,0);
00068 
00069      HepVector zhelix_e(5); 
00070      HepSymMatrix zerror_e(5); 
00071      HepPoint3D poca_e(0,0,0);
00072   
00073      HepVector zhelix_mu(5); 
00074      HepSymMatrix zerror_mu(5); 
00075      HepPoint3D poca_mu(0,0,0);
00076       
00077      HepVector zhelix_k(5); 
00078      HepSymMatrix zerror_k(5);  
00079      HepPoint3D poca_k(0,0,0);
00080        
00081      HepVector zhelix_p(5);  
00082      HepSymMatrix zerror_p(5);
00083      HepPoint3D poca_p(0,0,0);
00084   
00085      HepVector fhelix(5); 
00086      HepSymMatrix ferror(5); 
00087 
00088      HepVector fhelix_e(5); 
00089      HepSymMatrix ferror_e(5); 
00090   
00091      HepVector fhelix_mu(5); 
00092      HepSymMatrix ferror_mu(5); 
00093       
00094      HepVector fhelix_k(5); 
00095      HepSymMatrix ferror_k(5);  
00096        
00097      HepVector fhelix_p(5);  
00098      HepSymMatrix ferror_p(5);
00099   
00100      
00101      DstMdcKalTrack *mdcKalTrackTds = new DstMdcKalTrack();
00102      m_common.m_rootMdcKalTrackMap[mdcKalTrackRoot] = mdcKalTrackTds;
00103      
00104      /* 
00105      for(int ii=0; ii<3; ii++){
00106        poca_e[ii]  =  mdcKalTrackRoot->getPocaE(ii);
00107        poca_mu[ii] =  mdcKalTrackRoot->getPocaMu(ii);
00108        poca[ii]    =  mdcKalTrackRoot->getPoca(ii);
00109        poca_k[ii]  =  mdcKalTrackRoot->getPocaK(ii);
00110        poca_p[ii]  =  mdcKalTrackRoot->getPocaP(ii);
00111      }
00112      */
00113 
00114      log<<MSG::DEBUG<<"T to DST, poca: "<<poca<<endreq;
00115      
00116      for (int i=0; i<5; i++){
00117          zhelix[i]    = mdcKalTrackRoot->getZHelix(i);
00118          zhelix_e[i]  = mdcKalTrackRoot->getZHelixE(i);
00119          zhelix_mu[i] = mdcKalTrackRoot->getZHelixMu(i);
00120          zhelix_k[i]  = mdcKalTrackRoot->getZHelixK(i);
00121          zhelix_p[i]  = mdcKalTrackRoot->getZHelixP(i);
00122          
00123          fhelix[i]    = mdcKalTrackRoot->getFHelix(i);
00124          fhelix_e[i]  = mdcKalTrackRoot->getFHelixE(i);
00125          fhelix_mu[i] = mdcKalTrackRoot->getFHelixMu(i);
00126          fhelix_k[i]  = mdcKalTrackRoot->getFHelixK(i);
00127          fhelix_p[i]  = mdcKalTrackRoot->getFHelixP(i);
00128 
00129          for (int j=0; j<=i; j++){
00130           zerror[i][j]    = mdcKalTrackRoot->getZError(i,j);
00131           zerror_e[i][j]  = mdcKalTrackRoot->getZErrorE(i,j);
00132           zerror_mu[i][j] = mdcKalTrackRoot->getZErrorMu(i,j);
00133           zerror_k[i][j]  = mdcKalTrackRoot->getZErrorK(i,j);
00134           zerror_p[i][j]  = mdcKalTrackRoot->getZErrorP(i,j);
00135           
00136           zerror[j][i]    = zerror[i][j];    
00137           zerror_e[j][i]  = zerror_e[i][j];  
00138           zerror_mu[j][i] = zerror_mu[i][j]; 
00139           zerror_k[j][i]  = zerror_k[i][j];  
00140           zerror_p[j][i]  = zerror_p[i][j];  
00141 
00142           ferror[i][j]    = mdcKalTrackRoot->getFError(i,j);
00143           ferror_e[i][j]  = mdcKalTrackRoot->getFErrorE(i,j);
00144           ferror_mu[i][j] = mdcKalTrackRoot->getFErrorMu(i,j);
00145           ferror_k[i][j]  = mdcKalTrackRoot->getFErrorK(i,j);
00146           ferror_p[i][j]  = mdcKalTrackRoot->getFErrorP(i,j);
00147           
00148           ferror[j][i]    = ferror[i][j];    
00149           ferror_e[j][i]  = ferror_e[i][j];  
00150           ferror_mu[j][i] = ferror_mu[i][j]; 
00151           ferror_k[j][i]  = ferror_k[i][j];  
00152           ferror_p[j][i]  = ferror_p[i][j];  
00153         }
00154       }
00155         
00156      
00157      double dr    = zhelix[0];
00158      double phi0  = zhelix[1];
00159      double kappa = zhelix[2];
00160      double dz    = zhelix[3];
00161      double tanl  = zhelix[4];
00162      poca[0]=dr*cos(phi0);
00163      poca[1]=dr*sin(phi0);
00164      poca[2]=dz;
00165 
00166      dr    = zhelix_e[0];
00167      phi0  = zhelix_e[1];
00168      kappa = zhelix_e[2];
00169      dz    = zhelix_e[3];
00170      tanl  = zhelix_e[4];
00171      poca_e[0]=dr*cos(phi0);
00172      poca_e[1]=dr*sin(phi0);
00173      poca_e[2]=dz;
00174 
00175      dr    = zhelix_mu[0];
00176      phi0  = zhelix_mu[1];
00177      kappa = zhelix_mu[2];
00178      dz    = zhelix_mu[3];
00179      tanl  = zhelix_mu[4];
00180      poca_mu[0]=dr*cos(phi0);
00181      poca_mu[1]=dr*sin(phi0);
00182      poca_mu[2]=dz;
00183 
00184      dr    = zhelix_k[0];
00185      phi0  = zhelix_k[1];
00186      kappa = zhelix_k[2];
00187      dz    = zhelix_k[3];
00188      tanl  = zhelix_k[4];
00189      poca_k[0]=dr*cos(phi0);
00190      poca_k[1]=dr*sin(phi0);
00191      poca_k[2]=dz;
00192 
00193      dr    = zhelix_p[0];
00194      phi0  = zhelix_p[1];
00195      kappa = zhelix_p[2];
00196      dz    = zhelix_p[3];
00197      tanl  = zhelix_p[4];
00198      poca_p[0]=dr*cos(phi0);
00199      poca_p[1]=dr*sin(phi0);
00200      poca_p[2]=dz;
00201 
00202      
00203      log<<MSG::DEBUG<<"T to DST, zhelix: "<<zhelix<<endreq;
00204      log<<MSG::DEBUG<<"T to DST, zerror: "<<zerror<<endreq;
00205 
00206      zhelixs.push_back(zhelix_e);
00207      zhelixs.push_back(zhelix_mu);
00208      zhelixs.push_back(zhelix);
00209      zhelixs.push_back(zhelix_k);
00210      zhelixs.push_back(zhelix_p);                                                                                                   
00211      zerrors.push_back(zerror_e);
00212      zerrors.push_back(zerror_mu);
00213      zerrors.push_back(zerror);
00214      zerrors.push_back(zerror_k);
00215      zerrors.push_back(zerror_p);
00216 
00217      fhelixs.push_back(fhelix_e);
00218      fhelixs.push_back(fhelix_mu);
00219      fhelixs.push_back(fhelix);
00220      fhelixs.push_back(fhelix_k);
00221      fhelixs.push_back(fhelix_p);                                                                                                   
00222      ferrors.push_back(ferror_e);
00223      ferrors.push_back(ferror_mu);
00224      ferrors.push_back(ferror);
00225      ferrors.push_back(ferror_k);
00226      ferrors.push_back(ferror_p);
00227 
00228      pocas.push_back(poca_e);
00229      pocas.push_back(poca_mu);
00230      pocas.push_back(poca);
00231      pocas.push_back(poca_k);
00232      pocas.push_back(poca_p);
00233      
00234      for(int m=0; m<5; m++){
00235        int charge;
00236        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.);
00237        dr    = zhelixs[m][0];
00238        phi0  = zhelixs[m][1];
00239        kappa = zhelixs[m][2];
00240        dz    = zhelixs[m][3];
00241        tanl  = zhelixs[m][4];
00242        
00243 //       x = pocas[m][0];
00244 //       y = pocas[m][1];
00245 //       z = pocas[m][2];
00246        
00247        x = dr * cos(phi0);
00248        y = dr * sin(phi0);
00249        z = dz;
00250 
00251  //  std::cout<<"x: "<<x<<"y: "<<y<<"z: "<<z<<std::endl;
00252 
00253        if (kappa > 0.0000000001)
00254          charge = 1;
00255        else if (kappa < -0.0000000001)
00256          charge = -1;
00257        else
00258          charge = 0;
00259 
00260        if(kappa!=0) pxy = 1.0/fabs(kappa);
00261        else pxy = 0;
00262                 
00263        px = pxy * (-sin(phi0));
00264        py = pxy * cos(phi0);
00265        pz = pxy * tanl;
00266        ptot = sqrt(px*px+py*py+pz*pz);
00267        
00268        mdcKalTrackTds->setCharge(charge,m);
00269        mdcKalTrackTds->setPxy(pxy,m);
00270        mdcKalTrackTds->setPx(px,m);
00271        mdcKalTrackTds->setPy(py,m);
00272        mdcKalTrackTds->setPz(pz,m);
00273        mdcKalTrackTds->setP(ptot,m);
00274        mdcKalTrackTds->setTheta(acos(pz/ptot),m);
00275        mdcKalTrackTds->setPhi(atan2(py,px),m);
00276        mdcKalTrackTds->setX(x,m);
00277        mdcKalTrackTds->setY(y,m);
00278        mdcKalTrackTds->setZ(z,m);
00279        mdcKalTrackTds->setR(sqrt(x*x+y*y),m);
00280   
00281        mdcKalTrackTds->setStat(mdcKalTrackRoot->getStat(m),0,m);
00282        mdcKalTrackTds->setStat(mdcKalTrackRoot->getStat2(m),1,m);
00283        mdcKalTrackTds->setChisq(mdcKalTrackRoot->getChisq(m),0,m);
00284        mdcKalTrackTds->setNdf(mdcKalTrackRoot->getNdf(m),0,m);
00285        mdcKalTrackTds->setNlayer(mdcKalTrackRoot->getNlayer(m),m);
00286      }  
00287      
00288       mdcKalTrackTds->setTrackId(mdcKalTrackRoot->getTrackId());
00289 
00290       for(int jj=0; jj<5; jj++){
00291         mdcKalTrackTds->setZHelix(zhelixs[jj],jj);          
00292         mdcKalTrackTds->setZError(zerrors[jj],jj);          
00293         mdcKalTrackTds->setFHelix(fhelixs[jj],jj);          
00294         mdcKalTrackTds->setFError(ferrors[jj],jj);          
00295         mdcKalTrackTds->setPoca(pocas[jj],jj);
00296       }
00297     
00298       mdcKalTrackTdsCol->push_back(mdcKalTrackTds);
00299     }
00300     // m_mdcKalTrackCol->Delete();  // wensp add 2005/12/30
00301     delete m_mdcKalTrackCol;
00302     m_mdcKalTrackCol = 0;  
00303     return StatusCode::SUCCESS;
00304 }
00305 
00306 StatusCode MdcKalTrackCnv::DataObjectToTObject(DataObject* obj,RootAddress* rootaddr) {
00307 
00308   MsgStream log(msgSvc(), "MdcKalTrackCnv");
00309   log << MSG::DEBUG << "MdcKalTrackCnv::DataObjectToTObject" << endreq;
00310   StatusCode sc=StatusCode::SUCCESS;
00311  
00312   DstMdcKalTrackCol * mdcKalTrackColTds=dynamic_cast<DstMdcKalTrackCol *> (obj);
00313   //RecMdcKalTrackCol * mdcKalTrackColTds=dynamic_cast<RecMdcKalTrackCol *> (obj);
00314   if (!mdcKalTrackColTds) {
00315     log << MSG::ERROR << "Could not downcast to DstMdcKalTrackCol" << endreq;
00316     return StatusCode::FAILURE;
00317   }
00318       
00319   DataObject *evt;
00320   m_eds->findObject(EventModel::Dst::Event,evt);
00321   if (evt==NULL) {
00322     log << MSG::ERROR << "Could not get ReconEvent in TDS "  << endreq;
00323     return StatusCode::FAILURE;
00324   }
00325 
00326   DstEvent * devtTds=dynamic_cast<DstEvent *> (evt);
00327   if (!devtTds) {
00328     log << MSG::ERROR << "MdcKalTrackCnv:Could not downcast to TDS Dst Event" << endreq;
00329   }
00330   IOpaqueAddress *addr;
00331 
00332   m_cnvSvc->getDstCnv()->createRep(evt,addr); 
00333   TDstEvent *recEvt=m_cnvSvc->getDstCnv()->getWriteObject();
00334 
00335   const TObjArray *m_mdcKalTrackCol = recEvt->getMdcKalTrackCol();
00336   
00337   if (!m_mdcKalTrackCol) return sc;
00338   
00339   recEvt->clearMdcKalTrackCol(); //necessary in case there is I/O at the same time since array is static
00340   DstMdcKalTrackCol::const_iterator mdcKalTrackTds;
00341 
00342   for (mdcKalTrackTds = mdcKalTrackColTds->begin(); mdcKalTrackTds != mdcKalTrackColTds->end(); mdcKalTrackTds++) {
00343           
00344     // Get Data from DST
00345 
00346      //Double_t poca[3]; 
00347      Double_t zhelix[5];        
00348      Double_t zerror[5][5];     
00349 
00350      //Double_t poca_e[3];
00351      Double_t zhelix_e[5];      
00352      Double_t zerror_e[5][5];   
00353 
00354      //Double_t poca_mu[3];
00355      Double_t zhelix_mu[5];     
00356      Double_t zerror_mu[5][5];  
00357 
00358      //Double_t poca_k[3];
00359      Double_t zhelix_k[5];      
00360      Double_t zerror_k[5][5];   
00361 
00362      //Double_t poca_p[3];
00363      Double_t zhelix_p[5];      
00364      Double_t zerror_p[5][5];   
00365     
00366      Double_t fhelix[5];        
00367      Double_t ferror[5][5];     
00368      Double_t fhelix_e[5];      
00369      Double_t ferror_e[5][5];   
00370      Double_t fhelix_mu[5];     
00371      Double_t ferror_mu[5][5];  
00372      Double_t fhelix_k[5];      
00373      Double_t ferror_k[5][5];   
00374      Double_t fhelix_p[5];      
00375      Double_t ferror_p[5][5];   
00376     
00377      TMdcKalTrack *mdcKalTrackRoot = new TMdcKalTrack();             
00378      //m_common.m_mdcKalTrackMap[(*mdcKalTrackTds)] = mdcKalTrackRoot;
00379      RecMdcKalTrack* recMdcKalTrackTds=(RecMdcKalTrack*) (*mdcKalTrackTds);
00380    
00381      for(int k=0; k<5; k++){
00382       mdcKalTrackRoot->setStat((*mdcKalTrackTds)->getStat(k),k);
00383       mdcKalTrackRoot->setStat2(recMdcKalTrackTds->getStat(1,k),k);
00384       mdcKalTrackRoot->setChisq((*mdcKalTrackTds)->getChisq(k),k);
00385       mdcKalTrackRoot->setNdf((*mdcKalTrackTds)->getNdf(k),k);
00386       mdcKalTrackRoot->setNlayer((*mdcKalTrackTds)->getNlayer(k),k);
00387       //o mdcKalTrackRoot->setNster((*mdcKalTrackTds)->getNster(k),k);
00388       //o mdcKalTrackRoot->setFirstLayer((*mdcKalTrackTds)->getFirstLayer(k),k);
00389       //o mdcKalTrackRoot->setLastLayer((*mdcKalTrackTds)->getLastLayer(k),k);
00390      }
00391      
00392      //HepPoint3D h_poca        = (*mdcKalTrackTds)->getPoca(2);
00393      HepVector h_zhelix       = (*mdcKalTrackTds)->getZHelix(2);           
00394      HepSymMatrix h_zerror    = (*mdcKalTrackTds)->getZError(2);           
00395 
00396      //HepPoint3D h_poca_e      = (*mdcKalTrackTds)->getPoca(0); 
00397      HepVector h_zhelix_e     = (*mdcKalTrackTds)->getZHelix(0);          
00398      HepSymMatrix h_zerror_e  = (*mdcKalTrackTds)->getZError(0);          
00399 
00400      //HepPoint3D h_poca_mu     = (*mdcKalTrackTds)->getPoca(1);
00401      HepVector h_zhelix_mu    = (*mdcKalTrackTds)->getZHelix(1);         
00402      HepSymMatrix h_zerror_mu = (*mdcKalTrackTds)->getZError(1);         
00403 
00404      //HepPoint3D h_poca_k      = (*mdcKalTrackTds)->getPoca(3);
00405      HepVector h_zhelix_k     = (*mdcKalTrackTds)->getZHelix(3);          
00406      HepSymMatrix h_zerror_k  = (*mdcKalTrackTds)->getZError(3);          
00407 
00408      //HepPoint3D h_poca_p      = (*mdcKalTrackTds)->getPoca(4);
00409      HepVector h_zhelix_p     = (*mdcKalTrackTds)->getZHelix(4);          
00410      HepSymMatrix h_zerror_p  = (*mdcKalTrackTds)->getZError(4);          
00411                                 
00412      HepVector h_fhelix       = (*mdcKalTrackTds)->getFHelix(2);           
00413      HepSymMatrix h_ferror    = (*mdcKalTrackTds)->getFError(2);           
00414      HepVector h_fhelix_e     = (*mdcKalTrackTds)->getFHelix(0);          
00415      HepSymMatrix h_ferror_e  = (*mdcKalTrackTds)->getFError(0);          
00416      HepVector h_fhelix_mu    = (*mdcKalTrackTds)->getFHelix(1);         
00417      HepSymMatrix h_ferror_mu = (*mdcKalTrackTds)->getFError(1);         
00418      HepVector h_fhelix_k     = (*mdcKalTrackTds)->getFHelix(3);          
00419      HepSymMatrix h_ferror_k  = (*mdcKalTrackTds)->getFError(3);          
00420      HepVector h_fhelix_p     = (*mdcKalTrackTds)->getFHelix(4);          
00421      HepSymMatrix h_ferror_p  = (*mdcKalTrackTds)->getFError(4);          
00422                                 
00423      mdcKalTrackRoot->setTrackId((*mdcKalTrackTds)->getTrackId());
00424 
00425      /*
00426      for(int k=0; k<3; k++){
00427        poca[k] = h_poca[k];
00428        poca_e[k] = h_poca_e[k];
00429        poca_mu[k] = h_poca_mu[k];
00430        poca_k[k] = h_poca_k[k];
00431        poca_p[k] = h_poca_p[k];
00432      }
00433      */
00434      
00435      for (int i=0; i<5; i++){
00436        zhelix[i] = h_zhelix[i];
00437        zhelix_e[i] = h_zhelix_e[i];
00438        zhelix_mu[i] = h_zhelix_mu[i];
00439        zhelix_p[i] = h_zhelix_p[i];
00440        zhelix_k[i] = h_zhelix_k[i];
00441        fhelix[i] = h_fhelix[i];
00442        fhelix_e[i] = h_fhelix_e[i];
00443        fhelix_mu[i] = h_fhelix_mu[i];
00444        fhelix_p[i] = h_fhelix_p[i];
00445        fhelix_k[i] = h_fhelix_k[i];
00446        for (int j=0; j<=i; j++){
00447          zerror[i][j] = h_zerror[i][j];       
00448          zerror_e[i][j] = h_zerror_e[i][j];   
00449          zerror_mu[i][j] = h_zerror_mu[i][j]; 
00450          zerror_p[i][j] = h_zerror_p[i][j];   
00451          zerror_k[i][j] = h_zerror_k[i][j];   
00452          zerror[j][i] = h_zerror[i][j];        
00453          zerror_e[j][i] = h_zerror_e[i][j];  
00454          zerror_mu[j][i] = h_zerror_mu[i][j];
00455          zerror_p[j][i] = h_zerror_p[i][j];  
00456          zerror_k[j][i] = h_zerror_k[i][j];  
00457          ferror[i][j] = h_ferror[i][j];       
00458          ferror_e[i][j] = h_ferror_e[i][j];   
00459          ferror_mu[i][j] = h_ferror_mu[i][j]; 
00460          ferror_p[i][j] = h_ferror_p[i][j];   
00461          ferror_k[i][j] = h_ferror_k[i][j];   
00462          ferror[j][i] = h_ferror[i][j];        
00463          ferror_e[j][i] = h_ferror_e[i][j];  
00464          ferror_mu[j][i] = h_ferror_mu[i][j];
00465          ferror_p[j][i] = h_ferror_p[i][j];  
00466          ferror_k[j][i] = h_ferror_k[i][j];  
00467        }      
00468      }
00469 
00470      //mdcKalTrackRoot->setPoca(poca);
00471      mdcKalTrackRoot->setZHelix(zhelix);     
00472      mdcKalTrackRoot->setZError(zerror);     
00473 
00474      //mdcKalTrackRoot->setPocaE(poca_e);
00475      mdcKalTrackRoot->setZHelixE(zhelix_e);   
00476      mdcKalTrackRoot->setZErrorE(zerror_e);   
00477 
00478      //mdcKalTrackRoot->setPocaMu(poca_mu);
00479      mdcKalTrackRoot->setZHelixMu(zhelix_mu);  
00480      mdcKalTrackRoot->setZErrorMu(zerror_mu);  
00481 
00482      //mdcKalTrackRoot->setPocaK(poca_k);
00483      mdcKalTrackRoot->setZHelixK(zhelix_k);   
00484      mdcKalTrackRoot->setZErrorK(zerror_k);   
00485 
00486      //mdcKalTrackRoot->setPocaP(poca_p);
00487      mdcKalTrackRoot->setZHelixP(zhelix_p);   
00488      mdcKalTrackRoot->setZErrorP(zerror_p);
00489 
00490      mdcKalTrackRoot->setFHelix(fhelix);     
00491      mdcKalTrackRoot->setFError(ferror);     
00492 
00493      mdcKalTrackRoot->setFHelixE(fhelix_e);   
00494      mdcKalTrackRoot->setFErrorE(ferror_e);   
00495 
00496      mdcKalTrackRoot->setFHelixMu(fhelix_mu);  
00497      mdcKalTrackRoot->setFErrorMu(ferror_mu);  
00498 
00499      mdcKalTrackRoot->setFHelixK(fhelix_k);   
00500      mdcKalTrackRoot->setFErrorK(ferror_k);   
00501 
00502      mdcKalTrackRoot->setFHelixP(fhelix_p);   
00503      mdcKalTrackRoot->setFErrorP(ferror_p);
00504 
00505      recEvt->addMdcKalTrack(mdcKalTrackRoot);
00506   }
00507 
00508   return StatusCode::SUCCESS;
00509 }
00510 #endif

Generated on Tue Nov 29 22:58:40 2016 for BOSS_7.0.2 by  doxygen 1.4.7