DCFillableNeutralNCList< NeutralNC > Class Template Reference

#include <DCFillableNeutralNCList.h>

Inheritance diagram for DCFillableNeutralNCList< NeutralNC >:

DCNeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass > dchain::NeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass > dchain::CandidateList< NeutralNC::CandidateClass > List of all members.

Public Types

typedef dchain::MuteWholeItr<
NeutralNC > 
iterator
typedef dchain::WholeItr<
NeutralNC > 
const_iterator
typedef dchain::PartialItr<
NeutralNC > 
const_partial_iterator
typedef NeutralNC value_type
typedef NeutralNCVisibleList<
NeutralNC, NeutralNC::CandidateClass > 
self_type

Public Member Functions

 DCFillableNeutralNCList (bool(*pFunction)(NeutralNC &)=0)
template<class WitnessIterator>
 DCFillableNeutralNCList (WitnessIterator first, WitnessIterator last, bool(*pFunction)(NeutralNC &)=0)
template<class WitnessIterator>
 DCFillableNeutralNCList (WitnessIterator first, WitnessIterator last, DCSelectionFunction< NeutralNC > &aFunctionalObject)
 DCFillableNeutralNCList (const DCFillableNeutralNCList< NeutralNC > &aOtherList, bool(*pFunction)(NeutralNC &)=0)
 DCFillableNeutralNCList (DCSelectionFunction< NeutralNC > &aFunctionalObject)
 DCFillableNeutralNCList (const DCFillableNeutralNCList< NeutralNC > &aOtherList, DCSelectionFunction< NeutralNC > &aFunctionalObject)
virtual ~DCFillableNeutralNCList ()
const DCFillableNeutralNCList<
NeutralNC > & 
operator= (const DCFillableNeutralNCList< NeutralNC > &aOtherList)
template<class Witness>
const DCFillableNeutralNCList<
NeutralNC > & 
operator= (const Witness &aWitnessList)
void fill (const LabeledParticleList< NeutralNC, NeutralNC::CandidateClass > &aList, const TMaker &aMaker, const TSelector &aSel)
void fill (Iterator first, Iterator last, const TMaker &aMaker, const TSelector &aSel=SelectAll< NeutralNC >())
FillListWithSelection< self_type,
TSelector > 
operator[] (const TSelector &iSel)
iterator particle_begin ()
const_iterator particle_begin () const
iterator particle_end ()
const_iterator particle_end () const
ChosenConjugateList< NeutralNC,
NeutralNC::CandidateClass > & 
bar ()
ChosenConjugateList< NeutralNC,
NeutralNC::CandidateClass > & 
operator() ()
void iterate (const TAnalyze &analyze) const
void iterate (TAnalyze &analyze) const
void iterate (const TAnalyzer &analyze) const
SelectiveInserter< self_type,
TSelect > 
selectiveInserter (const TSelect &iSelect)
 creates an insert iterator that filters based on iSelect
bool attempt_insert (THolder &pPossible, const TSelect &aSelect)
void insert (THolder &pPossible)
void eraseContents ()
void erase ()
virtual iterator begin ()
virtual const_iterator begin () const
virtual iterator end ()
virtual const_iterator end () const
virtual bool empty () const
virtual int size () const

Protected Member Functions

void fill (Iterator first, Iterator last)
virtual dchain::LabeledParticleList<
NeutralNC, NeutralNC::CandidateClass > & 
labeledCandidateList ()
virtual const dchain::LabeledParticleList<
NeutralNC, NeutralNC::CandidateClass > & 
labeledCandidateList () const

Private Member Functions

void fill (const dchain::LabeledParticleList< NeutralNC, typename NeutralNC::CandidateClass > &aList)
template<class WitnessIterator>
void fill (WitnessIterator first, WitnessIterator last)

Detailed Description

template<class NeutralNC>
class DCFillableNeutralNCList< NeutralNC >

Definition at line 62 of file DCFillableNeutralNCList.h.


Member Typedef Documentation

typedef dchain::WholeItr< NeutralNC > DCNeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::const_iterator [inherited]

Reimplemented from dchain::NeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass >.

Definition at line 106 of file DCNeutralNCVisibleList.h.

typedef dchain::PartialItr< NeutralNC > DCNeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::const_partial_iterator [inherited]

Reimplemented from dchain::NeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass >.

Definition at line 107 of file DCNeutralNCVisibleList.h.

typedef dchain::MuteWholeItr< NeutralNC > DCNeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::iterator [inherited]

Reimplemented from dchain::NeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass >.

Definition at line 105 of file DCNeutralNCVisibleList.h.

typedef NeutralNCVisibleList<NeutralNC , NeutralNC::CandidateClass > dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::self_type [inherited]

Definition at line 91 of file NeutralNCVisibleList.h.

typedef NeutralNC DCNeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::value_type [inherited]

Reimplemented from dchain::NeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass >.

Definition at line 109 of file DCNeutralNCVisibleList.h.


Constructor & Destructor Documentation

template<class NeutralNC>
DCFillableNeutralNCList< NeutralNC >::DCFillableNeutralNCList ( bool(*)(NeutralNC &)  pFunction = 0  ) 

Definition at line 70 of file DCFillableNeutralNCList.cc.

00070                                                               :
00071    DCNeutralNCVisibleList< NeutralNC , typename NeutralNC::CandidateClass >(
00072       pFunction )
00073 {
00074 }

template<class NeutralNC>
template<class WitnessIterator>
DCFillableNeutralNCList< NeutralNC >::DCFillableNeutralNCList ( WitnessIterator  first,
WitnessIterator  last,
bool(*)(NeutralNC &)  pFunction = 0 
) [inline]

Definition at line 72 of file DCFillableNeutralNCList.h.

References DCFillableNeutralNCList< NeutralNC >::fill().

template<class NeutralNC>
template<class WitnessIterator>
DCFillableNeutralNCList< NeutralNC >::DCFillableNeutralNCList ( WitnessIterator  first,
WitnessIterator  last,
DCSelectionFunction< NeutralNC > &  aFunctionalObject 
) [inline]

Definition at line 82 of file DCFillableNeutralNCList.h.

References DCFillableNeutralNCList< NeutralNC >::fill().

template<class NeutralNC>
DCFillableNeutralNCList< NeutralNC >::DCFillableNeutralNCList ( const DCFillableNeutralNCList< NeutralNC > &  aOtherList,
bool(*)(NeutralNC &)  pFunction = 0 
)

Definition at line 78 of file DCFillableNeutralNCList.cc.

00079                                                              :
00080    DCNeutralNCVisibleList< NeutralNC , typename NeutralNC::CandidateClass >(
00081       aOtherList, pFunction )
00082 {
00083 }

template<class NeutralNC>
DCFillableNeutralNCList< NeutralNC >::DCFillableNeutralNCList ( DCSelectionFunction< NeutralNC > &  aFunctionalObject  ) 

Definition at line 87 of file DCFillableNeutralNCList.cc.

00087                                                                               :
00088    DCNeutralNCVisibleList< NeutralNC , typename NeutralNC::CandidateClass >(
00089       aFunctionalObject )
00090 {
00091 }

template<class NeutralNC>
DCFillableNeutralNCList< NeutralNC >::DCFillableNeutralNCList ( const DCFillableNeutralNCList< NeutralNC > &  aOtherList,
DCSelectionFunction< NeutralNC > &  aFunctionalObject 
)

Definition at line 95 of file DCFillableNeutralNCList.cc.

00096                                                                               :
00097    DCNeutralNCVisibleList< NeutralNC , typename NeutralNC::CandidateClass >(
00098       aOtherList, aFunctionalObject )
00099 {
00100 }

template<class NeutralNC>
DCFillableNeutralNCList< NeutralNC >::~DCFillableNeutralNCList (  )  [virtual]

Definition at line 104 of file DCFillableNeutralNCList.cc.

00105 {
00106 }


Member Function Documentation

bool dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::attempt_insert ( THolder &  pPossible,
const TSelect &  aSelect 
) [inline, inherited]

Definition at line 168 of file NeutralNCVisibleList.h.

References dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >::insert().

00169                                                    {
00170          bool returnValue = (aSelect)(*pPossible);
00171          if (returnValue) {
00172             this->insert(pPossible);
00173          }
00174          return returnValue;
00175       }

ChosenConjugateList< NeutralNC , NeutralNC::CandidateClass >& dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::bar (  )  [inherited]

virtual const_iterator dchain::CandidateList< NeutralNC::CandidateClass >::begin ( void   )  const [virtual, inherited]

virtual iterator dchain::CandidateList< NeutralNC::CandidateClass >::begin ( void   )  [virtual, inherited]

virtual bool dchain::CandidateList< NeutralNC::CandidateClass >::empty (  )  const [virtual, inherited]

virtual const_iterator dchain::CandidateList< NeutralNC::CandidateClass >::end ( void   )  const [virtual, inherited]

virtual iterator dchain::CandidateList< NeutralNC::CandidateClass >::end ( void   )  [virtual, inherited]

void dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::erase (  )  [inline, inherited]

Definition at line 190 of file NeutralNCVisibleList.h.

References dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >::eraseContents().

00190                    {
00191          eraseContents();
00192       }

void dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::eraseContents (  )  [inherited]

Referenced by DCFillableNeutralNCList< NeutralNC >::operator=().

void dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::fill ( Iterator  first,
Iterator  last,
const TMaker &  aMaker,
const TSelector &  aSel = SelectAll<NeutralNC>() 
) [inline, inherited]

Definition at line 210 of file NeutralNCVisibleList.h.

References dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >::selectiveInserter().

00212                                                                  {
00213          std::transform(first,last,
00214                         selectiveInserter(aSel),
00215                         aMaker);
00216       }

void dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::fill ( const LabeledParticleList< NeutralNC , NeutralNC::CandidateClass > &  aList,
const TMaker &  aMaker,
const TSelector &  aSel 
) [inline, inherited]

Definition at line 195 of file NeutralNCVisibleList.h.

References dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >::attempt_insert(), dchain::LabeledParticleList< ParticleClass, CandidateClass >::begin(), and dchain::LabeledParticleList< ParticleClass, CandidateClass >::end().

00197                                         {
00198 
00199          for( const_iterator entry(aList.begin()); entry != aList.end(); ++entry){
00200             //NOTE: even though this is really just calling the copy constructor
00201             //it is best to use the maker since it allows further control
00202             const NeutralNC& from((*entry)());
00203             typename ResultTypeTrait<TMaker>::type localCopy( aMaker(from) );
00204             
00205             attempt_insert(localCopy,aSel);
00206          }
00207  
00208       }

void DCNeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::fill ( Iterator  first,
Iterator  last 
) [inline, protected, inherited]

Definition at line 131 of file DCNeutralNCVisibleList.h.

References DCNeutralNCVisibleList< NeutralNC, CandidateClass >::fill(), DCNeutralNCVisibleList< NeutralNC, CandidateClass >::m_function, and DCNeutralNCVisibleList< NeutralNC, CandidateClass >::m_functionalObject.

00131                                                {
00132          if ( 0 != m_function ) {
00133             fill(first,last, dchain::NewMaker<NeutralNC>(), m_function);
00134          } else if (m_functionalObject) {
00135             fill(first,last,dchain::NewMaker<NeutralNC>(),m_functionalObject);
00136          } else {
00137             fill(first,last, dchain::NewMaker<NeutralNC>(), dchain::SelectAll<NeutralNC>());
00138          }
00139       }

template<class NeutralNC>
template<class WitnessIterator>
void DCFillableNeutralNCList< NeutralNC >::fill ( WitnessIterator  first,
WitnessIterator  last 
) [inline, private]

Definition at line 133 of file DCFillableNeutralNCList.h.

References DCNeutralNCVisibleList< NeutralNC, CandidateClass >::fill().

template<class NeutralNC>
void DCFillableNeutralNCList< NeutralNC >::fill ( const dchain::LabeledParticleList< NeutralNC, typename NeutralNC::CandidateClass > &  aList  )  [inline, private]

Reimplemented from DCNeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass >.

Definition at line 126 of file DCFillableNeutralNCList.h.

Referenced by dc_fill(), DCFillableNeutralNCList< NeutralNC >::DCFillableNeutralNCList(), and DCFillableNeutralNCList< NeutralNC >::operator=().

00128                                                                               {
00129          DCNeutralNCVisibleList< NeutralNC , 
00130                          typename NeutralNC::CandidateClass >::fill( aList ) ;
00131       }

void dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::insert ( THolder &  pPossible  )  [inline, inherited]

Definition at line 178 of file NeutralNCVisibleList.h.

References dchain::is_bar(), dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >::kIsBar, dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >::kIsntBar, and dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >::m_list.

00178                                       {
00179          if (is_bar(pPossible)) {
00180             m_list->push_back( LabeledParticle< NeutralNC >( pPossible ,
00181                                                              kIsBar ) ) ;
00182          }
00183          else {
00184             m_list->push_back( LabeledParticle< NeutralNC >( pPossible ,
00185                                                              kIsntBar ) ) ;
00186          }
00187       }

void dchain::CandidateList< NeutralNC::CandidateClass >::iterate ( const TAnalyzer &  analyze  )  const [inline, inherited]

Reimplemented in dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >.

Definition at line 102 of file CandidateList.h.

References dchain::CandidateList< CandidateClass >::begin(), and dchain::CandidateList< CandidateClass >::end().

00102                                                         {
00103             const_iterator finished ( end() );
00104             for ( const_iterator entry ( begin() ) ;
00105                   entry != finished ;
00106                   ++entry ) {
00107                analyze( (*entry)() ) ;
00108             }
00109          }

void dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::iterate ( TAnalyze &  analyze  )  const [inline, inherited]

Definition at line 153 of file NeutralNCVisibleList.h.

References dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >::particle_begin(), and dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >::particle_end().

00153                                              {
00154          const_iterator finished ( particle_end() ) ;
00155          for ( const_iterator entry ( particle_begin() ) ;
00156                entry != finished ;
00157                ++entry ) {
00158             analyze( (*entry)() ) ;
00159          }
00160       }

void dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::iterate ( const TAnalyze &  analyze  )  const [inline, inherited]

Definition at line 143 of file NeutralNCVisibleList.h.

References dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >::particle_begin(), and dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >::particle_end().

00143                                                    {
00144          const_iterator finished ( particle_end() ) ;
00145          for ( const_iterator entry ( particle_begin() ) ;
00146                entry != finished ;
00147                ++entry ) {
00148             analyze( (*entry)() ) ;
00149          }
00150       }

virtual const dchain::LabeledParticleList< NeutralNC , NeutralNC::CandidateClass >& dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::labeledCandidateList (  )  const [protected, virtual, inherited]

Implements dchain::CandidateList< NeutralNC::CandidateClass >.

virtual dchain::LabeledParticleList< NeutralNC , NeutralNC::CandidateClass >& dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::labeledCandidateList (  )  [protected, virtual, inherited]

Implements dchain::CandidateList< NeutralNC::CandidateClass >.

ChosenConjugateList< NeutralNC , NeutralNC::CandidateClass >& dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::operator() ( void   )  [inherited]

template<class NeutralNC>
template<class Witness>
const DCFillableNeutralNCList<NeutralNC>& DCFillableNeutralNCList< NeutralNC >::operator= ( const Witness &  aWitnessList  )  [inline]

Reimplemented from dchain::NeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass >.

Definition at line 103 of file DCFillableNeutralNCList.h.

References dchain::NeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass >::eraseContents(), and DCFillableNeutralNCList< NeutralNC >::fill().

00103                                                                                        {
00104          this->eraseContents();
00105          fill(aWitnessList.begin(), aWitnessList.end());
00106          return ( *this ) ;
00107       }

template<class NeutralNC>
const DCFillableNeutralNCList< NeutralNC > & DCFillableNeutralNCList< NeutralNC >::operator= ( const DCFillableNeutralNCList< NeutralNC > &  aOtherList  ) 

Definition at line 114 of file DCFillableNeutralNCList.cc.

References DCNeutralNCVisibleList< NeutralNC, CandidateClass >::operator=().

00115 {
00116    DCNeutralNCVisibleList< NeutralNC , typename NeutralNC::CandidateClass >::
00117       operator=( aOtherList ) ;
00118    return ( *this ) ;
00119 }

FillListWithSelection<self_type, TSelector> dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::operator[] ( const TSelector &  iSel  )  [inline, inherited]

Definition at line 124 of file NeutralNCVisibleList.h.

00124                                                                                     {
00125          return FillListWithSelection<self_type,TSelector>(*this, iSel);
00126       }

const_iterator dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::particle_begin (  )  const [inherited]

iterator dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::particle_begin (  )  [inherited]

const_iterator dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::particle_end (  )  const [inherited]

iterator dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::particle_end (  )  [inherited]

SelectiveInserter<self_type,TSelect> dchain::NeutralNCVisibleList< NeutralNC , NeutralNC::CandidateClass >::selectiveInserter ( const TSelect &  iSelect  )  [inline, inherited]

creates an insert iterator that filters based on iSelect

Definition at line 164 of file NeutralNCVisibleList.h.

00164                                                                                      {
00165          return SelectiveInserter<self_type,TSelect>(*this,iSelect); }

virtual int dchain::CandidateList< NeutralNC::CandidateClass >::size ( void   )  const [virtual, inherited]


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