SimuPac 2.0(r200)
Simulates several PacMan nodes

PacSimulatedNode.h

Go to the documentation of this file.
00001 #ifndef PACSIMULATEDNODE_H
00002 #define PACSIMULATEDNODE_H
00003 
00004 #include <QObject>
00005 #include <QSemaphore>
00006 #include <gsl/gsl_rng.h>
00007 
00008 class PacNetThread;
00009 class PacEvent;
00010 
00011 class PacSimulatedNode : public QObject
00012 {
00013 Q_OBJECT
00014 public:
00015     explicit PacSimulatedNode(int port, float theta, float phi, double timeresfwhm, QObject *parent = 0);
00016     ~PacSimulatedNode();
00017     void addEventChunk(QList<PacEvent*> *chunk);
00018     float theta() const;
00019     float phi() const;
00020     QList<PacEvent*> * getEventChunk();
00021     void resetRingbuffer();
00022 
00023 signals:
00024 
00025 public slots:
00026 
00027 private:
00028     PacNetThread *nt;
00029     float tht, ph;
00030     double timeressigma; 
00031     gsl_rng *r;
00032 
00033     QList<PacEvent*> **ringbuffer;
00034     QSemaphore free, used;
00035     int readpos, writepos;
00036     static const int buffersize;
00037 };
00038 
00039 #endif // PACSIMULATIONNODE_H
 All Classes Namespaces Files Functions Variables Enumerations Properties Friends Defines