DCFillableChargedList< Charged > Class Template Reference

#include <DCFillableChargedList.h>

Inheritance diagram for DCFillableChargedList< Charged >:

DCChargedVisibleList< Charged, Charged::CandidateClass > dchain::ChargedVisibleList< Charged, Charged::CandidateClass > dchain::CandidateList< Charged::CandidateClass > List of all members.

Public Types

typedef dchain::MuteWholeItr<
Charged > 
iterator
typedef dchain::WholeItr<
Charged > 
const_iterator
typedef dchain::PartialItr<
Charged > 
const_partial_iterator
typedef Charged value_type
typedef ChargedVisibleList<
Charged, Charged::CandidateClass > 
self_type

Public Member Functions

 DCFillableChargedList (bool(*pFunction)(Charged &)=0)
template<class WitnessIterator>
 DCFillableChargedList (WitnessIterator first, WitnessIterator last, bool(*pFunction)(Charged &)=0)
template<class WitnessIterator>
 DCFillableChargedList (WitnessIterator first, WitnessIterator last, DCSelectionFunction< Charged > &aFunctionalObject)
 DCFillableChargedList (const DCFillableChargedList< Charged > &aOtherList, bool(*pFunction)(Charged &)=0)
 DCFillableChargedList (DCSelectionFunction< Charged > &aFunctionalObject)
 DCFillableChargedList (const DCFillableChargedList< Charged > &aOtherList, DCSelectionFunction< Charged > &aFunctionalObject)
virtual ~DCFillableChargedList ()
const DCFillableChargedList<
Charged > & 
operator= (const DCFillableChargedList< Charged > &aOtherList)
template<class Witness>
const DCFillableChargedList<
Charged > & 
operator= (const Witness &aWitnessList)
template<class WitnessIterator>
void fill (WitnessIterator first, WitnessIterator last)
void fill (const LabeledParticleList< Charged, Charged::CandidateClass > &aList, const TMaker &aMaker, const TSelector &aSel)
void fill (Iterator first, Iterator last, const TMaker &aMaker, const TSelector &aSel=SelectAll< Charged >())
FillListWithSelection< self_type,
TSelector > 
operator[] (const TSelector &iSel)
iterator particle_begin ()
const_iterator particle_begin () const
iterator particle_end ()
const_iterator particle_end () const
ChosenChargeList< Charged,
Charged::CandidateClass > & 
plus () const
ChosenChargeList< Charged,
Charged::CandidateClass > & 
minus () const
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 LabeledParticleList<
Charged, Charged::CandidateClass > & 
labeledCandidateList ()
virtual const LabeledParticleList<
Charged, Charged::CandidateClass > & 
labeledCandidateList () const

Private Member Functions

void fill (const dchain::LabeledParticleList< Charged, typename Charged::CandidateClass > &aList)

Detailed Description

template<class Charged>
class DCFillableChargedList< Charged >

Definition at line 62 of file DCFillableChargedList.h.


Member Typedef Documentation

typedef dchain::WholeItr< Charged > DCChargedVisibleList< Charged , Charged::CandidateClass >::const_iterator [inherited]

Reimplemented from dchain::ChargedVisibleList< Charged, Charged::CandidateClass >.

Definition at line 104 of file DCChargedVisibleList.h.

typedef dchain::PartialItr< Charged > DCChargedVisibleList< Charged , Charged::CandidateClass >::const_partial_iterator [inherited]

Reimplemented from dchain::ChargedVisibleList< Charged, Charged::CandidateClass >.

Definition at line 105 of file DCChargedVisibleList.h.

typedef dchain::MuteWholeItr< Charged > DCChargedVisibleList< Charged , Charged::CandidateClass >::iterator [inherited]

Reimplemented from dchain::ChargedVisibleList< Charged, Charged::CandidateClass >.

Definition at line 103 of file DCChargedVisibleList.h.

typedef ChargedVisibleList<Charged ,Charged::CandidateClass > dchain::ChargedVisibleList< Charged , Charged::CandidateClass >::self_type [inherited]

Definition at line 149 of file ChargedVisibleList.h.

typedef Charged DCChargedVisibleList< Charged , Charged::CandidateClass >::value_type [inherited]

Reimplemented from dchain::ChargedVisibleList< Charged, Charged::CandidateClass >.

Definition at line 107 of file DCChargedVisibleList.h.


Constructor & Destructor Documentation

template<class Charged>
DCFillableChargedList< Charged >::DCFillableChargedList ( bool(*)(Charged &)  pFunction = 0  ) 

Definition at line 67 of file DCFillableChargedList.cc.

00067                                                           :
00068    DCChargedVisibleList< Charged , typename Charged::CandidateClass >( pFunction )
00069 {
00070 }

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

Definition at line 72 of file DCFillableChargedList.h.

References DCFillableChargedList< Charged >::fill().

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

Definition at line 82 of file DCFillableChargedList.h.

References DCFillableChargedList< Charged >::fill().

00084          : DCChargedVisibleList<Charged, typename Charged::CandidateClass>(aFunctionalObject) {
00085          fill(first, last); }

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

Definition at line 74 of file DCFillableChargedList.cc.

00075                                                         :
00076    DCChargedVisibleList< Charged , typename Charged::CandidateClass >( aOtherList ,
00077                                                         pFunction )
00078 {
00079 }

template<class Charged>
DCFillableChargedList< Charged >::DCFillableChargedList ( DCSelectionFunction< Charged > &  aFunctionalObject  ) 

Definition at line 83 of file DCFillableChargedList.cc.

00083                                                                            :
00084    DCChargedVisibleList< Charged , typename Charged::CandidateClass >( aFunctionalObject )
00085 {
00086 }

template<class Charged>
DCFillableChargedList< Charged >::DCFillableChargedList ( const DCFillableChargedList< Charged > &  aOtherList,
DCSelectionFunction< Charged > &  aFunctionalObject 
)

Definition at line 90 of file DCFillableChargedList.cc.

00091                                                                          :
00092    DCChargedVisibleList< Charged , typename Charged::CandidateClass >( aOtherList ,
00093                                                aFunctionalObject )
00094 {
00095 }

template<class Charged>
DCFillableChargedList< Charged >::~DCFillableChargedList (  )  [virtual]

Definition at line 99 of file DCFillableChargedList.cc.

00100 {
00101 }


Member Function Documentation

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

Definition at line 243 of file ChargedVisibleList.h.

References dchain::ChargedVisibleList< Charged, CandidateClass >::insert().

00244                                                    {
00245          //std::cout << " @ ChargedVisibleList::attempt_insert() " << __LINE__ << std::endl;
00246          bool returnValue = (aSelect)(*pPossible);
00247          if (returnValue) {
00248             this->insert(pPossible);
00249          }
00250          return returnValue;
00251       }

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

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

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

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

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

void dchain::ChargedVisibleList< Charged , Charged::CandidateClass >::erase (  )  [inline, inherited]

Definition at line 266 of file ChargedVisibleList.h.

References dchain::ChargedVisibleList< Charged, CandidateClass >::eraseContents().

00266                    {
00267          eraseContents();
00268       }

void dchain::ChargedVisibleList< Charged , Charged::CandidateClass >::eraseContents (  )  [inherited]

Referenced by DCFillableChargedList< Charged >::operator=().

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

Definition at line 286 of file ChargedVisibleList.h.

References dchain::ChargedVisibleList< Charged, CandidateClass >::selectiveInserter().

00288                                                                {
00289          //std::cout << " @ ChargedVisibleList::fill() " << __LINE__ << std::endl;
00290          //std::cout << "size before transform: " << m_list->size() << std::endl;
00291          std::transform(first,last,
00292                         selectiveInserter(aSel),
00293                         aMaker);
00294          //std::cout << "size after transform: " << m_list->size() << std::endl;
00295       }

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

Definition at line 271 of file ChargedVisibleList.h.

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

00273                                         {
00274 
00275          for( const_iterator entry(aList.begin()); entry != aList.end(); ++entry){
00276             //NOTE: even though this is really just calling the copy constructor
00277             //it is best to use the maker since it allows further control
00278             const Charged& from((*entry)());
00279             typename ResultTypeTrait<TMaker>::type localCopy( aMaker(from) );
00280             
00281             attempt_insert(localCopy,aSel);
00282          }
00283  
00284       }

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

Definition at line 130 of file DCChargedVisibleList.h.

References DCChargedVisibleList< Charged, CandidateClass >::fill(), DCChargedVisibleList< Charged, CandidateClass >::m_function, and DCChargedVisibleList< Charged, CandidateClass >::m_functionalObject.

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

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

Reimplemented from DCChargedVisibleList< Charged, Charged::CandidateClass >.

Definition at line 130 of file DCFillableChargedList.h.

References DCFillableChargedList< Charged >::fill().

00132                                                                             {
00133          DCChargedVisibleList< Charged , 
00134                          typename Charged::CandidateClass >::fill( aList ) ;
00135       }

template<class Charged>
template<class WitnessIterator>
void DCFillableChargedList< Charged >::fill ( WitnessIterator  first,
WitnessIterator  last 
) [inline]

Definition at line 111 of file DCFillableChargedList.h.

References DCChargedVisibleList< Charged, CandidateClass >::fill().

Referenced by dc_fill(), DCFillableChargedList< Charged >::DCFillableChargedList(), DCFillableChargedList< Charged >::fill(), and DCFillableChargedList< Charged >::operator=().

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

Definition at line 254 of file ChargedVisibleList.h.

References dchain::charge_sign(), dchain::ChargedVisibleList< Charged, CandidateClass >::kMinus, dchain::ChargedVisibleList< Charged, CandidateClass >::kPlus, and dchain::ChargedVisibleList< Charged, CandidateClass >::m_list.

00254                                       {
00255          if (0 < charge_sign(pPossible)) {
00256             m_list->push_back( LabeledParticle< Charged >( pPossible ,
00257                                                           kPlus ) ) ;
00258          }
00259          else {
00260             m_list->push_back( LabeledParticle< Charged >( pPossible ,
00261                                                           kMinus ) ) ;
00262          }
00263       }

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

Reimplemented in dchain::ChosenChargeList< Charged, Charged::CandidateClass >.

Definition at line 102 of file CandidateList.h.

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

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

Definition at line 228 of file ChargedVisibleList.h.

References dchain::ChargedVisibleList< Charged, CandidateClass >::particle_begin(), and dchain::ChargedVisibleList< Charged, CandidateClass >::particle_end().

00228                                              {
00229          const_iterator finished ( particle_end() ) ;
00230          for ( const_iterator entry ( particle_begin() ) ;
00231                entry != finished ;
00232                ++entry ) {
00233             analyze( (*entry)() ) ;
00234          }
00235       }

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

Definition at line 218 of file ChargedVisibleList.h.

References dchain::ChargedVisibleList< Charged, CandidateClass >::particle_begin(), and dchain::ChargedVisibleList< Charged, CandidateClass >::particle_end().

00218                                                    {
00219          const_iterator finished ( particle_end() ) ;
00220          for ( const_iterator entry ( particle_begin() ) ;
00221                entry != finished ;
00222                ++entry ) {
00223             analyze( (*entry)() ) ;
00224          }
00225       }

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

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

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

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

ChosenChargeList< Charged , Charged::CandidateClass >& dchain::ChargedVisibleList< Charged , Charged::CandidateClass >::minus (  )  const [inherited]

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

Reimplemented from dchain::ChargedVisibleList< Charged, Charged::CandidateClass >.

Definition at line 103 of file DCFillableChargedList.h.

References dchain::ChargedVisibleList< Charged, Charged::CandidateClass >::eraseContents(), and DCFillableChargedList< Charged >::fill().

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

template<class Charged>
const DCFillableChargedList< Charged > & DCFillableChargedList< Charged >::operator= ( const DCFillableChargedList< Charged > &  aOtherList  ) 

Definition at line 109 of file DCFillableChargedList.cc.

References DCChargedVisibleList< Charged, CandidateClass >::operator=().

00110 {
00111    DCChargedVisibleList< Charged , typename Charged::CandidateClass >::operator=( aOtherList ) ;
00112    return ( *this ) ;
00113 }

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

Definition at line 202 of file ChargedVisibleList.h.

00202                                                                                     {
00203          return FillListWithSelection<self_type,TSelector>(*this, iSel);
00204       }

const_iterator dchain::ChargedVisibleList< Charged , Charged::CandidateClass >::particle_begin (  )  const [inherited]

iterator dchain::ChargedVisibleList< Charged , Charged::CandidateClass >::particle_begin (  )  [inherited]

const_iterator dchain::ChargedVisibleList< Charged , Charged::CandidateClass >::particle_end (  )  const [inherited]

iterator dchain::ChargedVisibleList< Charged , Charged::CandidateClass >::particle_end (  )  [inherited]

ChosenChargeList< Charged , Charged::CandidateClass >& dchain::ChargedVisibleList< Charged , Charged::CandidateClass >::plus (  )  const [inherited]

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

creates an insert iterator that filters based on iSelect

Definition at line 239 of file ChargedVisibleList.h.

00239                                                                                      {
00240          return SelectiveInserter<self_type,TSelect>(*this,iSelect); }

virtual int dchain::CandidateList< Charged::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