![]() |
Diana Software
|
Public Member Functions | |
| QNeighboursFiller (QReader *reader) | |
| ~QNeighboursFiller () | |
| void | Init (QEventAssembler &eva) |
| bool | Do (QEventAssembler &evao, QEventList &neighbours) |
| QReaderNeighbour::NeighbourInfo | GetNeighbourInfo (const QEvent &thisEvent, const QEvent &otherEvent) |
| bool | GetWantsNeighbours (const QEvent &thisEvent) |
| const QReaderNeighbour * | GetReaderNeighbour () const |
Public Member Functions inherited from QModuleTimeProfiling | |
| QModuleTimeProfiling () | |
| ctor initialized internal variables More... | |
| virtual | ~QModuleTimeProfiling () |
| dtor does nothing More... | |
| void | SetTimeProfilingOn (bool val) |
| Set the time profiling on/off. More... | |
| bool | GetTimeProfilingOn () const |
| Check if the time profiling is on. More... | |
| void | ResetTimer () |
| Reset the timer to now. More... | |
| double | GetTimer () const |
| return the time since the last reset More... | |
| virtual void | StartProcessCall () |
| Start of a process call. More... | |
| virtual void | EndProcessCall () |
| End a process call and increment time and calls. More... | |
| unsigned long long | GetProcessCalls () const |
| Return the total number of process calls. More... | |
| double | GetTotalProcessTime () const |
| Return the total processing time. More... | |
| double | GetProcessCallTime () const |
| Return the average time of a single process call. More... | |
| std::string | GetTimeProfileReport (const std::string &prefix="") const |
| Report the time profiling. More... | |
Private Member Functions | |
| bool | ExhaustiveFillNeighbours (QEventAssembler &evao, QEventList &neighbours) |
| bool | FilterFillNeighbours (QEventAssembler &evao, QEventList &neighbours) |
| Only enters in Diana's main loop when the event requires neighbours. More... | |
| bool | AssociativeFillNeighbours (QEventAssembler &evao, QEventList &neighbours) |
| A faster version that makes assumptions. More... | |
Private Attributes | |
| QReader * | fReader |
| size_t | fEventIndex |
| size_t | fMaxEventIndex |
| int | fFillStrategy |
| QCachedEventList | fEventList |
| std::deque< bool > | fEvalNeighbours |
| QReaderNeighbour * | fReaderNeighbour |
| QEventAssembler | fEva |
| bool | fEndOfEvents |
| bool | fNeighboursReloading |
Additional Inherited Members | |
Protected Attributes inherited from QModuleTimeProfiling | |
| bool | fTimeProfilingOn |
| Report the time profiling. More... | |
| unsigned long long int | fProcessCalls |
| NUmber of calls to the process. More... | |
| double | fProcessTime |
| Total time spent running the process. More... | |
Definition at line 16 of file QNeighboursFiller.hh.
| Q_BEGIN_NAMESPACE QNeighboursFiller::QNeighboursFiller | ( | QReader * | reader | ) |
Definition at line 11 of file QNeighboursFiller.cc.
References fReader, and fReaderNeighbour.
| QNeighboursFiller::~QNeighboursFiller | ( | ) |
Definition at line 16 of file QNeighboursFiller.cc.
References fReaderNeighbour.
|
private |
A faster version that makes assumptions.
If we can assume that anything InWindow is also a neighbour, we can speed up the process.
Definition at line 74 of file QNeighboursFiller.cc.
References QCachedEventList::Back(), QEventAssembler::Clear(), QEventList::Clear(), QReader::DoBase(), QCachedEventList::Empty(), fEndOfEvents, fEva, fEventIndex, fEventList, QReaderNeighbour::NeighbourInfo::fIsInWindow, QReaderNeighbour::NeighbourInfo::fIsNeighbour, fReader, QEventAssembler::GetEvent(), GetNeighbourInfo(), QCachedEventList::Pop(), QCachedEventList::Push(), QEventList::Push(), and QCachedEventList::Size().
Referenced by Do().
| bool QNeighboursFiller::Do | ( | QEventAssembler & | evao, |
| QEventList & | neighbours | ||
| ) |
Definition at line 42 of file QNeighboursFiller.cc.
References QEventAssembler::Assign(), AssociativeFillNeighbours(), QEventAssembler::Consolidate(), QModuleTimeProfiling::EndProcessCall(), ExhaustiveFillNeighbours(), fEndOfEvents, fEva, fEventIndex, fEventList, fFillStrategy, FilterFillNeighbours(), QEventAssembler::GetEvent(), QReaderNeighbour::kAssociativeFillStrategy, QReaderNeighbour::kFilterFillStrategy, QCachedEventList::Size(), and QModuleTimeProfiling::StartProcessCall().
Referenced by QReader::Process().
|
private |
Definition at line 172 of file QNeighboursFiller.cc.
References QCachedEventList::Back(), QEventAssembler::Clear(), QEventList::Clear(), QReader::DoBase(), QCachedEventList::Empty(), fEndOfEvents, fEva, fEventIndex, fEventList, QReaderNeighbour::NeighbourInfo::fIsInWindow, QReaderNeighbour::NeighbourInfo::fIsNeighbour, fReader, QEventAssembler::GetEvent(), GetNeighbourInfo(), QCachedEventList::Pop(), QCachedEventList::Push(), QEventList::Push(), and QCachedEventList::Size().
Referenced by Do().
|
private |
Only enters in Diana's main loop when the event requires neighbours.
If we know that most of the events don't require neighbours and we don't need to calculate anything on them then this method filters away the unwanted event (based on the neighbour algo choosen)
Definition at line 242 of file QNeighboursFiller.cc.
References QCachedEventList::Back(), QEventAssembler::Clear(), QEventList::Clear(), QReader::DoBase(), QCachedEventList::Empty(), fEndOfEvents, fEva, fEvalNeighbours, fEventIndex, fEventList, QReaderNeighbour::NeighbourInfo::fIsInWindow, QReaderNeighbour::NeighbourInfo::fIsNeighbour, fMaxEventIndex, fNeighboursReloading, fReader, QEventAssembler::GetEvent(), GetNeighbourInfo(), GetWantsNeighbours(), QCachedEventList::Pop(), QCachedEventList::Push(), QEventList::Push(), and QCachedEventList::Size().
Referenced by Do().
| QReaderNeighbour::NeighbourInfo QNeighboursFiller::GetNeighbourInfo | ( | const QEvent & | thisEvent, |
| const QEvent & | otherEvent | ||
| ) |
Definition at line 372 of file QNeighboursFiller.cc.
References fReaderNeighbour, and QReaderNeighbour::GetNeighbourInfoBase().
Referenced by AssociativeFillNeighbours(), ExhaustiveFillNeighbours(), and FilterFillNeighbours().
|
inline |
Definition at line 30 of file QNeighboursFiller.hh.
References fReaderNeighbour.
Referenced by QReader::End().
| bool QNeighboursFiller::GetWantsNeighbours | ( | const QEvent & | thisEvent | ) |
Definition at line 376 of file QNeighboursFiller.cc.
References fReaderNeighbour, and QReaderNeighbour::GetWantsNeighbours().
Referenced by FilterFillNeighbours().
| void QNeighboursFiller::Init | ( | QEventAssembler & | eva | ) |
Definition at line 21 of file QNeighboursFiller.cc.
References QEventAssembler::Assign(), QCachedEventList::Clear(), fEndOfEvents, fEva, fEvalNeighbours, fEventIndex, fEventList, fFillStrategy, fMaxEventIndex, fNeighboursReloading, fReader, fReaderNeighbour, QEventAssembler::GetAliases(), QBaseModule::GetBool(), QEventAssembler::GetEvent(), QReaderNeighbour::GetFillStrategy(), QBaseModule::GetInt(), QBaseModule::GetString(), QReader::Init(), QReaderNeighbour::InitBase(), QBaseModule::Panic(), and QReaderNeighbourFactory().
Referenced by QReader::Begin().
|
private |
Definition at line 64 of file QNeighboursFiller.hh.
Referenced by AssociativeFillNeighbours(), Do(), ExhaustiveFillNeighbours(), FilterFillNeighbours(), and Init().
|
private |
Definition at line 63 of file QNeighboursFiller.hh.
Referenced by AssociativeFillNeighbours(), Do(), ExhaustiveFillNeighbours(), FilterFillNeighbours(), and Init().
|
private |
Definition at line 61 of file QNeighboursFiller.hh.
Referenced by FilterFillNeighbours(), and Init().
|
private |
Definition at line 57 of file QNeighboursFiller.hh.
Referenced by AssociativeFillNeighbours(), Do(), ExhaustiveFillNeighbours(), FilterFillNeighbours(), and Init().
|
private |
Definition at line 60 of file QNeighboursFiller.hh.
Referenced by AssociativeFillNeighbours(), Do(), ExhaustiveFillNeighbours(), FilterFillNeighbours(), and Init().
|
private |
Definition at line 59 of file QNeighboursFiller.hh.
|
private |
Definition at line 58 of file QNeighboursFiller.hh.
Referenced by FilterFillNeighbours(), and Init().
|
private |
Definition at line 65 of file QNeighboursFiller.hh.
Referenced by FilterFillNeighbours(), and Init().
|
private |
Definition at line 56 of file QNeighboursFiller.hh.
Referenced by AssociativeFillNeighbours(), ExhaustiveFillNeighbours(), FilterFillNeighbours(), Init(), and QNeighboursFiller().
|
private |
Definition at line 62 of file QNeighboursFiller.hh.
Referenced by GetNeighbourInfo(), GetReaderNeighbour(), GetWantsNeighbours(), Init(), QNeighboursFiller(), and ~QNeighboursFiller().