#ifndef BRPROCA_H_SEEN #define BRPROCA_H_SEEN //---------------------------------------------------------------- // ---- classe de thread de traitememt acquisition BAORadio ----- // LAL - R. Ansari - Juin/Juillet 2008 //---------------------------------------------------------------- #include "racqumem.h" #include #include #include #include "sopnamsp.h" #include "zthread.h" #include "brtypes.h" using namespace std; //--------------------------------------------------------------------- // Classe thread de traitement avec 2 voies par frame (donnees brutes) //--------------------------------------------------------------------- /*-- Arguments du constructeur : o mem : gestionnaire zones memoires avec contenant les "frames" avec 2 voies/frame o path : Chemin et nom des fichiers PPF produits (on ajoute _numero.ppf ) o nmean : Nombre de frame (paquets) moyennes o nmax : Nombre maxi de frames traites o fghist = true -> fait aussi l'histo des valeurs des echantillons temps o nfsmap>0 : fabrication de cartes (image 2D) des spectres, avec nfsmap=nombre de frequences sommes o fgnotrl = true -> fichiers fits / paquets sans trailer o card : numero de carte , juste pour les impressions */ class BRProcARaw2C : public ZThread { public: BRProcARaw2C(RAcqMemZoneMgr& mem, string& path, uint_4 nmean=10, uint_4 nmax=100, bool fgtshist=false, uint_4 nfsmap=0, bool fgnotrl=false, int card=1); virtual void run(); void Stop(); inline void STOP() { stop_ = true; } protected: RAcqMemZoneMgr& memgr; bool stop_; uint_4 nmax_; // Nombre maxi de blocs MemZone traites uint_4 nmean_; // Nombre de spectres pour le calcul des moyennes uint_4 nfsmap_; // Binning en frequence pour les cartes 2D temps-freq string path_; bool fghist_; // if true, fill and save histogram with time sample values bool fgnotrl_; // if true, don't check packet trailer - when using pre-june fits files int card_; // Numeros de voies 2*card_-1, 2*card_ }; //--------------------------------------------------------------------- // Classe thread de traitement 2 x 2 voies/frames (Apres BRProcARaw2C) //--------------------------------------------------------------------- /*-- Arguments du constructeur : o mem1,mem2 : gestionnairea zones memoires avec contenant les donnees des 4 voies (2 voies/frame) o path : Chemin et nom des fichiers PPF produits (on ajoute _numero.ppf ) o nmean : Nombre de frame (paquets) moyennes o nmax : Nombre maxi de frames traites o fgnotrl = true -> fichiers fits / paquets sans trailer o card : numero de carte , juste pour les impressions */ class BRProcBRaw4C : public ZThread { public: BRProcBRaw4C(RAcqMemZoneMgr& mem1, RAcqMemZoneMgr& mem2, string& path, uint_4 nmean=10, uint_4 nmax=100, bool fgnotrl=false); virtual void run(); void Stop(); inline void STOP() { stop_ = true; } protected: RAcqMemZoneMgr& memgr1; RAcqMemZoneMgr& memgr2; bool stop_; uint_4 nmax_; // Nombre maxi de blocs MemZone traites uint_4 nmean_; // Nombre de blocs pour le calcul des moyennes string path_; bool fgnotrl_; // if true, don't check packet trailer - when using pre-june fits files }; #endif