|
static const std::string & | s_class () |
|
|
virtual bool | action (const T &a_value)=0 |
|
bool | _looper (base_ntu &a_sub, const std::vector< unsigned int > &a_is, unsigned int a_depth, bool &a_stop) |
|
|
static bool | find_is (const base_ntu &a_ntu, const base_col *a_col, std::vector< unsigned int > &a_is, bool &a_found) |
|
template<class T>
class tools::aida::base_looper< T >
Definition at line 1129 of file aida_ntuple.
◆ base_looper() [1/2]
◆ ~base_looper()
◆ base_looper() [2/2]
◆ _looper()
Definition at line 1227 of file aida_ntuple.
1231 if(a_depth>=a_is.size())
return false;
1233 unsigned int coli = a_is[a_depth];
1234 const std::vector<base_col*>& cols = a_sub.columns();
1235 if(coli>=cols.size())
return false;
1237 if(a_depth==(a_is.size()-1)) {
1238 aida_col<T>* col = safe_cast<base_col, aida_col<T> >(*(cols[coli]));
1239 if(!col)
return false;
1241 while(a_sub.next()) {
1243 if(!col->get_entry(v))
return false;
1244 if(!
action(v)) {a_stop =
true;
break;}
1247 aida_col_ntu* col = safe_cast<base_col,aida_col_ntu>(*(cols[coli]));
1248 if(!col)
return false;
1250 while(a_sub.next()) {
1251 base_ntu* ntu = col->get_entry();
1252 if(!ntu)
return false;
1254 while(ntu->next()) {
1255 if(!
_looper(*ntu,a_is,a_depth+1,a_stop))
return false;
◆ action()
◆ find_is()
Definition at line 1190 of file aida_ntuple.
1197 const std::vector<base_col*>& cols = a_ntu.columns();
1200 {
unsigned int index = 0;
1203 a_is.push_back(index);
1211 {
unsigned int index = 0;
1213 aida_col_ntu* col = safe_cast<base_col,aida_col_ntu>(*(*it));
1215 base_ntu*
sub = col->get_to_fill();
1216 if(!
sub) {a_is.clear();
return false;}
1217 a_is.push_back(index);
1218 if(!
find_is(*
sub,a_col,a_is,a_found)) {a_is.clear();
return false;}
1219 if(a_found)
return true;
◆ operator=()
◆ process()
Definition at line 1158 of file aida_ntuple.
1159 std::vector<unsigned int>
is;
1163 <<
" find_is failed."
1169 <<
" find_is : col not found."
1183 <<
" _looper failed."
◆ s_class()
Definition at line 1131 of file aida_ntuple.
1132 static const std::string s_v(
"tools::aida::base_looper<"+
stype(T())+
">");
◆ m_col
◆ m_ntu
The documentation for this class was generated from the following file:
- /Users/barrand/private/dev/softinex/g4tools/g4tools/tools/aida_ntuple