BOSS 7.0.6
BESIII Offline Software System
Loading...
Searching...
No Matches
dchain::FillDecayList< DecayClass, CandidateClass >::ChildList Class Reference

Public Member Functions

 ChildList ()
 
 ChildList (const DecayClass *decay)
 
void push_back (const CandidateClass *iCandidate)
 
void pop_back ()
 
void eraseAll ()
 
bool overlap (const CandidateClass &iCandidate) const
 
DecayClass * makeDecay ()
 

Detailed Description

template<class DecayClass, class CandidateClass>
class dchain::FillDecayList< DecayClass, CandidateClass >::ChildList

Definition at line 137 of file CombinatoricList.cc.

Constructor & Destructor Documentation

◆ ChildList() [1/2]

template<class DecayClass , class CandidateClass >
dchain::FillDecayList< DecayClass, CandidateClass >::ChildList::ChildList ( )
inline

Definition at line 140 of file CombinatoricList.cc.

140 {
141 m_list.reserve(4);
142 }

◆ ChildList() [2/2]

template<class DecayClass , class CandidateClass >
dchain::FillDecayList< DecayClass, CandidateClass >::ChildList::ChildList ( const DecayClass *  decay)
inline

Definition at line 144 of file CombinatoricList.cc.

144 {
145 //fill the m_list with decay
146 uint32_t n = decay->numberChildren();
147 for ( uint32_t i = 0; i < n; i++) m_list.push_back(&(decay->child(i)));
148 }

Member Function Documentation

◆ eraseAll()

template<class DecayClass , class CandidateClass >
void dchain::FillDecayList< DecayClass, CandidateClass >::ChildList::eraseAll ( )
inline

Definition at line 156 of file CombinatoricList.cc.

156 {
157 m_list.erase(m_list.begin(), m_list.end());
158 }

Referenced by dchain::FillDecayList< DecayClass, CandidateClass >::fill().

◆ makeDecay()

template<class DecayClass , class CandidateClass >
DecayClass * dchain::FillDecayList< DecayClass, CandidateClass >::ChildList::makeDecay ( )
inline

Definition at line 172 of file CombinatoricList.cc.

172 {
173 DecayClass* returnValue = new DecayClass( *(m_list.front()) );
174 for( typename std::vector<const CandidateClass*>::iterator itChild = m_list.begin()+1;
175 itChild != m_list.end();
176 ++itChild ) {
177 returnValue->addChild( *(*itChild) );
178 }
179 return returnValue;
180 }

Referenced by dchain::FillDecayList< DecayClass, CandidateClass >::doIt().

◆ overlap()

template<class DecayClass , class CandidateClass >
bool dchain::FillDecayList< DecayClass, CandidateClass >::ChildList::overlap ( const CandidateClass &  iCandidate) const
inline

Definition at line 160 of file CombinatoricList.cc.

160 {
161 for( typename std::vector<const CandidateClass*>::const_iterator itChild =
162 m_list.begin();
163 itChild != m_list.end();
164 ++itChild ) {
165 if( iCandidate.overlap( *(*itChild) ) ) {
166 return true;
167 }
168 }
169 return false;
170 }

Referenced by dchain::FillDecayList< DecayClass, CandidateClass >::doIt().

◆ pop_back()

template<class DecayClass , class CandidateClass >
void dchain::FillDecayList< DecayClass, CandidateClass >::ChildList::pop_back ( )
inline

Definition at line 153 of file CombinatoricList.cc.

153 {
154 m_list.pop_back();
155 }

Referenced by dchain::FillDecayList< DecayClass, CandidateClass >::doIt().

◆ push_back()

template<class DecayClass , class CandidateClass >
void dchain::FillDecayList< DecayClass, CandidateClass >::ChildList::push_back ( const CandidateClass *  iCandidate)
inline

Definition at line 150 of file CombinatoricList.cc.

150 {
151 m_list.push_back( iCandidate );
152 }

Referenced by dchain::FillDecayList< DecayClass, CandidateClass >::doIt(), and dchain::FillDecayList< DecayClass, CandidateClass >::fill().


The documentation for this class was generated from the following file: