Report problems to ATLAS LXR Team (with time and IP address indicated)

The LXR Cross Referencer

source navigation ]
diff markup ]
identifier search ]
general search ]
 
 
Architecture: linux ]
Version: head ] [ nightly ] [ GaudiDev ]
  Links to LXR source navigation pages for stable releases [ 12.*.* ]   [ 13.*.* ]   [ 14.*.* ]   [ 15.*.* ] 

001 #include "AtlfastAlgs/PrimaryReconstructor.h"
002 #include "AtlfastUtils/DeleteObject.h"
003 #include "AtlfastUtils/AcceptanceChecker.h"
004 
005 namespace Atlfast{
006   PrimaryReconstructor::PrimaryReconstructor(IReconstructor *defaultReconstructor):m_default(defaultReconstructor){}
007   PrimaryReconstructor::PrimaryReconstructor(const PrimaryReconstructor &other):IReconstructor(other),
008                                                               m_default(other.m_default),
009                                                               m_replacements(other.m_replacements){}
010 
011   PrimaryReconstructor::~PrimaryReconstructor(){
012     std::for_each(m_replacements.begin(),m_replacements.end(),DeleteObject());
013     delete m_default;
014     m_default=0;
015   }
016 
017   PrimaryReconstructor& PrimaryReconstructor::operator=(const PrimaryReconstructor &other){
018     if(this!=&other){
019       m_default = other.m_default;
020       m_replacements = other.m_replacements;
021     }
022     return *this;
023   }
024 
025   ReconstructedParticle PrimaryReconstructor::reconstruct( const ReconstructedParticle &particle )const{
026     std::vector<const IAcceptingReconstructor*>::const_iterator itr, start, end;
027     start = m_replacements.begin();
028     end = m_replacements.end();
029     itr = std::find_if(start,end,AcceptanceChecker<IAcceptingReconstructor>(particle));
030     //    itr = std::find_if(start,end,AcceptanceChecker<const IAcceptingReconstructor>(particle));
031     if(itr!=end){return (*itr)->reconstruct(particle);}
032     return m_default->reconstruct(particle);
033   }
034 
035   void PrimaryReconstructor::addReplacement(const IAcceptingReconstructor *replacement){
036     m_replacements.push_back(replacement);
037   }
038 
039 }//end of namespace
040 

source navigation ] diff markup ] identifier search ] general search ]

Due to the LXR bug, the updates fail sometimes to remove references to deleted files. The Saturday's full rebuilds fix these problems
This page was automatically generated by the LXR engine. Valid HTML 4.01!