Diana Software
QNeighboursFiller.hh
Go to the documentation of this file.
1 #ifndef _Q_NEIGHBOURS_FILLER_HH_
2 #define _Q_NEIGHBOURS_FILLER_HH_
3 
4 #include "QDiana.hh"
5 #include "QCachedEventList.hh"
6 #include "QReaderNeighbour.hh"
8 
10 
11 class QReader;
12 class QEventAssembler;
13 class QEventList;
14 class QEvent;
15 
17 {
18  public:
19  QNeighboursFiller(QReader* reader);
20 
22 
23  void Init(QEventAssembler& eva);
24 
25  bool Do(QEventAssembler& evao, QEventList& neighbours);
26 
27  QReaderNeighbour::NeighbourInfo GetNeighbourInfo(const QEvent& thisEvent, const QEvent& otherEvent);
28  bool GetWantsNeighbours(const QEvent& thisEvent);
29 
31 
32  private:
33 
34  bool ExhaustiveFillNeighbours(QEventAssembler &evao, QEventList &neighbours);
35 
44  bool FilterFillNeighbours(QEventAssembler &evao, QEventList &neighbours);
45 
54  bool AssociativeFillNeighbours(QEventAssembler &evao, QEventList &neighbours);
55 
57  size_t fEventIndex;
61  std::deque<bool> fEvalNeighbours;
66 
67 };
68 
70 
71 #endif
#define Q_END_NAMESPACE
Definition: QDiana.hh:22
#define Q_BEGIN_NAMESPACE
Definition: QDiana.hh:20
Visitor class of QEvent that provides full handling of QEvent.
list of references to const QEvent (s)
Definition: QEventList.hh:21
diana event
Definition: QEvent.hh:46
Simple base class for time profiling a module.
bool FilterFillNeighbours(QEventAssembler &evao, QEventList &neighbours)
Only enters in Diana's main loop when the event requires neighbours.
QEventAssembler fEva
QNeighboursFiller(QReader *reader)
bool GetWantsNeighbours(const QEvent &thisEvent)
const QReaderNeighbour * GetReaderNeighbour() const
QReaderNeighbour::NeighbourInfo GetNeighbourInfo(const QEvent &thisEvent, const QEvent &otherEvent)
bool ExhaustiveFillNeighbours(QEventAssembler &evao, QEventList &neighbours)
void Init(QEventAssembler &eva)
QCachedEventList fEventList
QReaderNeighbour * fReaderNeighbour
std::deque< bool > fEvalNeighbours
bool Do(QEventAssembler &evao, QEventList &neighbours)
bool AssociativeFillNeighbours(QEventAssembler &evao, QEventList &neighbours)
A faster version that makes assumptions.
Base class for diana event readers.
Definition: QReader.hh:50