/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/RootEventData/RootEventData-00-03-80/src/TEvtRecObject.cxx

Go to the documentation of this file.
00001 #include "RootEventData/TEvtRecObject.h"
00002 #include "TCollection.h"  // Declares TIter
00003 
00004 ClassImp(TEvtRecObject)
00005 
00006 // Allocate the TObjArray just once
00007 
00008 TEvtRecEvent* TEvtRecObject::s_staticEvtRecEvent = 0;
00009 TObjArray* TEvtRecObject::s_staticEvtRecTrackCol = 0;
00010 TEvtRecPrimaryVertex *TEvtRecObject::s_staticEvtRecPrimaryVertex = 0;
00011 TObjArray *TEvtRecObject::s_staticEvtRecVeeVertexCol = 0;
00012 TObjArray *TEvtRecObject::s_staticEvtRecPi0Col = 0;
00013 TObjArray *TEvtRecObject::s_staticEvtRecEtaToGGCol = 0;
00014 TObjArray *TEvtRecObject::s_staticEvtRecDTagCol = 0;
00015 
00016 TEvtRecObject::TEvtRecObject()
00017 {
00018    if ( ! s_staticEvtRecEvent ) {
00019       s_staticEvtRecEvent = new TEvtRecEvent;
00020    }
00021    m_evtRecEvent = s_staticEvtRecEvent;
00022 
00023    if ( !s_staticEvtRecTrackCol) {
00024       s_staticEvtRecTrackCol = new TObjArray();
00025    }
00026    m_evtRecTrackCol = s_staticEvtRecTrackCol;
00027 
00028    if ( ! s_staticEvtRecPrimaryVertex ) {
00029       s_staticEvtRecPrimaryVertex = new TEvtRecPrimaryVertex();
00030    }
00031    m_evtRecPrimaryVertex = s_staticEvtRecPrimaryVertex;
00032 
00033    if ( ! s_staticEvtRecVeeVertexCol ) {
00034       s_staticEvtRecVeeVertexCol = new TObjArray();
00035    }
00036    m_evtRecVeeVertexCol = s_staticEvtRecVeeVertexCol;
00037    
00038    if ( ! s_staticEvtRecPi0Col ) {
00039       s_staticEvtRecPi0Col = new TObjArray();
00040    }
00041    m_evtRecPi0Col = s_staticEvtRecPi0Col;
00042 
00043    if ( ! s_staticEvtRecEtaToGGCol ) {
00044       s_staticEvtRecEtaToGGCol = new TObjArray();
00045    }
00046    m_evtRecEtaToGGCol = s_staticEvtRecEtaToGGCol;
00047 
00048    if ( ! s_staticEvtRecDTagCol ) {
00049       s_staticEvtRecDTagCol = new TObjArray();
00050    }
00051    m_evtRecDTagCol = s_staticEvtRecDTagCol;
00052 
00053 
00054 
00055    Clear();
00056 }
00057 
00058 TEvtRecObject::~TEvtRecObject() {
00059 
00060    if ( m_evtRecEvent == s_staticEvtRecEvent ) s_staticEvtRecEvent = 0;
00061    delete m_evtRecEvent;
00062    m_evtRecEvent = 0;
00063 
00064    if ( m_evtRecTrackCol == s_staticEvtRecTrackCol ) s_staticEvtRecTrackCol = 0;
00065    m_evtRecTrackCol->Delete();
00066    delete m_evtRecTrackCol;
00067    m_evtRecTrackCol = 0;
00068 
00069    if ( m_evtRecPrimaryVertex == s_staticEvtRecPrimaryVertex ) s_staticEvtRecPrimaryVertex = 0;
00070    delete m_evtRecPrimaryVertex;
00071    m_evtRecPrimaryVertex = 0;
00072 
00073    if ( m_evtRecVeeVertexCol == s_staticEvtRecVeeVertexCol ) s_staticEvtRecVeeVertexCol = 0;
00074    m_evtRecVeeVertexCol->Delete();
00075    delete m_evtRecVeeVertexCol;
00076    m_evtRecVeeVertexCol = 0;
00077    
00078    if ( m_evtRecPi0Col == s_staticEvtRecPi0Col ) s_staticEvtRecPi0Col = 0;
00079    m_evtRecPi0Col->Delete();
00080    delete m_evtRecPi0Col;
00081    m_evtRecPi0Col = 0;
00082 
00083    if ( m_evtRecEtaToGGCol == s_staticEvtRecEtaToGGCol ) s_staticEvtRecEtaToGGCol = 0;
00084    m_evtRecEtaToGGCol->Delete();
00085    delete m_evtRecEtaToGGCol;
00086    m_evtRecEtaToGGCol = 0;
00087    
00088    if ( m_evtRecDTagCol == s_staticEvtRecDTagCol ) s_staticEvtRecDTagCol = 0;
00089    m_evtRecDTagCol->Delete();
00090    delete m_evtRecDTagCol;
00091    m_evtRecDTagCol = 0;
00092 
00093 }
00094 
00095 void TEvtRecObject::initialize() {
00096 }
00097 
00098 void TEvtRecObject::Clear(Option_t* option) {
00099 }
00100 
00101 void TEvtRecObject::Print(Option_t* option) const {
00102    TObject::Print(option);
00103 }
00104 
00105 void TEvtRecObject::setEvtRecEvent(TEvtRecEvent* evtRecEvent) {
00106    m_evtRecEvent->setTotalTracks ( evtRecEvent->totalTracks() );
00107    m_evtRecEvent->setTotalCharged( evtRecEvent->totalCharged() );
00108    m_evtRecEvent->setTotalNeutral( evtRecEvent->totalNeutral() );
00109    m_evtRecEvent->setNumberOfVee ( evtRecEvent->numberOfVee() );
00110    m_evtRecEvent->setNumberOfPi0 ( evtRecEvent->numberOfPi0() );
00111    m_evtRecEvent->setNumberOfEtaToGG ( evtRecEvent->numberOfEtaToGG() );
00112    m_evtRecEvent->setNumberOfDTag( evtRecEvent->numberOfDTag() );
00113 }
00114 
00115 void TEvtRecObject::addEvtRecTrack(TEvtRecTrack* track) {
00116    m_evtRecTrackCol->Add(track);
00117 }
00118 
00119 const TEvtRecTrack* TEvtRecObject::getEvtRecTrack(Int_t i) const {
00120    if ( i >= m_evtRecTrackCol->GetEntries() || i < 0 )
00121       return 0;
00122    return (TEvtRecTrack*) m_evtRecTrackCol->At(i);
00123 }
00124 
00125 void TEvtRecObject::setEvtRecPrimaryVertex(TEvtRecPrimaryVertex* evtRecPrimaryVertex) {
00126    m_evtRecPrimaryVertex->setIsValid (evtRecPrimaryVertex->isValid() );
00127    m_evtRecPrimaryVertex->setNTracks (evtRecPrimaryVertex->nTracks() );
00128    m_evtRecPrimaryVertex->setTrackIdList (evtRecPrimaryVertex->trackIdList() );
00129    m_evtRecPrimaryVertex->setChi2    (evtRecPrimaryVertex->chi2() );
00130    m_evtRecPrimaryVertex->setNdof    (evtRecPrimaryVertex->ndof() );
00131    m_evtRecPrimaryVertex->setFitMethod (evtRecPrimaryVertex->fitMethod() );
00132    Double_t vtx[3];
00133    for (Int_t i = 0; i < 3; i++) {
00134      vtx[i] = evtRecPrimaryVertex->vertex(i);
00135    }
00136    Double_t Evtx[6];
00137    for (Int_t i = 0; i < 6; i++) {
00138      Evtx[i] = evtRecPrimaryVertex->errorVertex(i);
00139    }
00140    m_evtRecPrimaryVertex->setVertex  (vtx);
00141    m_evtRecPrimaryVertex->setErrorVertex (Evtx);
00142 }
00143 
00144 void TEvtRecObject::addEvtRecVeeVertex(TEvtRecVeeVertex* veeVertex) {
00145   m_evtRecVeeVertexCol->Add(veeVertex);
00146 }
00147 
00148 
00149 
00150 void TEvtRecObject::addEvtRecPi0(TEvtRecPi0* pi0) {
00151   m_evtRecPi0Col->Add(pi0);
00152 }
00153 
00154 
00155 void TEvtRecObject::addEvtRecEtaToGG(TEvtRecEtaToGG* eta) {
00156   m_evtRecEtaToGGCol->Add(eta);
00157 }
00158 
00159 void TEvtRecObject::addEvtRecDTag(TEvtRecDTag* dtag) {
00160   m_evtRecDTagCol->Add(dtag);
00161 }
00162 
00163 const TEvtRecVeeVertex* TEvtRecObject::getEvtRecVeeVertex(Int_t i) const {
00164   if ( i >= m_evtRecVeeVertexCol->GetEntries() || i < 0 )
00165      return 0;
00166   return (TEvtRecVeeVertex*) m_evtRecVeeVertexCol->At(i);
00167 }
00168 
00169 
00170 const TEvtRecPi0* TEvtRecObject::getEvtRecPi0(Int_t i) const {
00171   if ( i >= m_evtRecPi0Col->GetEntries() || i < 0 )
00172      return 0;
00173   return (TEvtRecPi0*) m_evtRecPi0Col->At(i);
00174 }
00175 
00176 
00177 const TEvtRecEtaToGG* TEvtRecObject::getEvtRecEtaToGG(Int_t i) const {
00178   if ( i >= m_evtRecEtaToGGCol->GetEntries() || i < 0 )
00179      return 0;
00180   return (TEvtRecEtaToGG*) m_evtRecEtaToGGCol->At(i);
00181 }
00182 
00183 
00184 const TEvtRecDTag* TEvtRecObject::getEvtRecDTag(Int_t i) const {
00185   if ( i >= m_evtRecDTagCol->GetEntries() || i < 0 )
00186      return 0;
00187   return (TEvtRecDTag*) m_evtRecDTagCol->At(i);
00188 }

Generated on Tue Nov 29 23:11:41 2016 for BOSS_7.0.2 by  doxygen 1.4.7