52 bool EnterMainLoop=
true;
54 std::cout<<
"AOOOOOO "<<EnterMainLoop<<std::endl;
61 std::cout<<
"AOOOOOO2 "<<EnterMainLoop<<std::endl;
62 if(!EnterMainLoop)
return false;
93 int firstNeighbour = -1;
98 if(firstNeighbour < 0) {
103 if(firstNeighbour < 0) {
108 int mid = (start+end)/2;
111 firstNeighbour = mid;
121 for(
int i=0;i<firstNeighbour;i++) {
138 bool futureEventLeft =
false;
150 bool isInWindow =
false;
200 neighbours.
Push(&otherEv);
206 bool futureEventLeft =
false;
211 neighbours.
Push(&otherEv);
213 futureEventLeft =
true;
217 std::cout<<
"ExhaustiveFillNeighbours"<<std::endl;
219 bool isInWindow =
false;
246 bool eval_neigh =
false;
264 for(
size_t iev = 0; iev <other_evidx; iev++){
325 neighbours.
Push(&otherEv);
331 bool futureEventLeft =
false;
337 neighbours.
Push(&otherEv);
339 futureEventLeft =
true;
344 bool isInWindow =
false;
#define Q_BEGIN_NAMESPACE
Q_BEGIN_NAMESPACE QReaderNeighbour * QReaderNeighbourFactory(const std::string &name)
factory for neighbour algorithms.
const std::string & GetString(const std::string &parname, const std::string &defVal, bool warnCfg=true) const
Get a string parameter from config file ( see GetDouble() )
void Panic(const char *descr,...) const
Send a panic message (stops the framework) with printf syntax.
int GetInt(const std::string &parname, int defVal, bool warnCfg=true) const
Get an int parameter from config file ( see GetDouble() )
bool GetBool(const std::string &parname, bool defVal, bool warnCfg=true) const
Get a bool parameter from config file ( see GetDouble() )
void Push(const QEvent &obj)
const QEventAssembler & Back() const
Visitor class of QEvent that provides full handling of QEvent.
QEvent & GetEvent()
Get the QEvent.
void Consolidate()
Consolidate QEvent.
void Assign(const QEvent &ev)
copies the underlying QEvent (calls QEvent::operator=)
const QAliases & GetAliases() const
get aliases (const version)
void Clear()
clear the underlying QEvent (calls QEvent::Clear())
list of references to const QEvent (s)
void Clear()
reset list to 0 elements
void Push(const QEvent *obj)
add a QEvent
virtual void EndProcessCall()
End a process call and increment time and calls.
virtual void StartProcessCall()
Start of a process call.
bool FilterFillNeighbours(QEventAssembler &evao, QEventList &neighbours)
Only enters in Diana's main loop when the event requires neighbours.
QNeighboursFiller(QReader *reader)
bool GetWantsNeighbours(const QEvent &thisEvent)
bool fNeighboursReloading
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.
int GetFillStrategy() const
virtual bool GetWantsNeighbours(const QEvent &thisEvent)
virtual NeighbourInfo GetNeighbourInfoBase(const QEvent &thisEvent, const QEvent &otherEvent)
void InitBase(const QReader &reader)
@ kAssociativeFillStrategy
Base class for diana event readers.
virtual void Init(QEventAssembler &eva)=0
Init method is called before event loop, getting the QEventAssembler as argument This method must be ...
bool DoBase(QEventAssembler &eva)
DoBase executes Do, and is called by QNeighboursFiller.