BOSS 7.1.0
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 140 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 143 of file CombinatoricList.cc.

143 {
144 m_list.reserve(4);
145 }

◆ ChildList() [2/2]

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

Definition at line 147 of file CombinatoricList.cc.

147 {
148 //fill the m_list with decay
149 uint32_t n = decay->numberChildren();
150 for ( uint32_t i = 0; i < n; i++) m_list.push_back(&(decay->child(i)));
151 }
const Int_t n

Member Function Documentation

◆ eraseAll()

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

Definition at line 159 of file CombinatoricList.cc.

159 {
160 m_list.erase(m_list.begin(), m_list.end());
161 }

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

◆ makeDecay()

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

Definition at line 175 of file CombinatoricList.cc.

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

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 163 of file CombinatoricList.cc.

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

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 156 of file CombinatoricList.cc.

156 {
157 m_list.pop_back();
158 }

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 153 of file CombinatoricList.cc.

153 {
154 m_list.push_back( iCandidate );
155 }

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


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