23int main(
int argc,
char **argv)
30 JLimit_t& numberOfEvents = inputFile.getLimit();
35 JParser<> zap(
"Program to test iteration from a ROOT TTree.");
43 catch(
const exception& error) {
44 FATAL(error.what() << endl);
53 DEBUG(
"Number of entries " << in.getEntries() << endl);
54 DEBUG(
"Distance " <<
distance(in. begin(), in. end()) << endl);
55 DEBUG(
"Distance " <<
distance(in.rbegin(), in.rend()) << endl);
56 DEBUG(
"Limit " << inputFile.getLimit() << endl);
58 DEBUG(
"hasNext iteration:");
59 while (in.hasNext()) {
67 DEBUG(
"indexed iteration:");
68 for (
counter_type i = inputFile.getLowerLimit(); i != inputFile.getUpperLimit(); ++i) {
69 DEBUG(
' ' << setw(2) << in.getEntry(i)->getFrameIndex());
73 DEBUG(
"forward iteration:");
74 for (JTreeScanner_t::iterator i = in.begin(); i != in.end(); ++i) {
75 DEBUG(
' ' << setw(2) << i->getFrameIndex());
79 DEBUG(
"reverse iteration:");
80 for (JTreeScanner_t::reverse_iterator i = in.rbegin(); i != in.rend(); ++i) {
81 DEBUG(
' ' << setw(2) << i->getFrameIndex());
87 ASSERT(in.getEntries() > 1,
"check number of entries");
88 ASSERT(inputFile.getUpperLimit() < in.getEntries() && inputFile.getLength() > 1,
"check limit");
90 ASSERT(
distance(in. begin(), in. end()), inputFile.getLimit().getLength());
91 ASSERT(
distance(in.rbegin(), in.rend()), inputFile.getLimit().getLength());
93 for (JTreeScanner_t::iterator
j = in.begin(), i =
j++;
j != in.end(); ++i, ++
j) {
94 ASSERT(i->getFrameIndex() <
j->getFrameIndex());
97 for (JTreeScanner_t::reverse_iterator
j = in.rbegin(), i =
j++;
j != in.rend(); ++i, ++
j) {
98 ASSERT(i->getFrameIndex() >
j->getFrameIndex());
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.