source: Sophya/trunk/AddOn/TAcq/brbaseproc.h@ 3778

Last change on this file since 3778 was 3778, checked in by ansari, 15 years ago

Ajout numero d'identification a BRBaseProcesseur, Reza 18/05/2010

File size: 2.1 KB
Line 
1#ifndef BRBASEPROC_H_SEEN
2#define BRBASEPROC_H_SEEN
3
4//----------------------------------------------------------------
5// Projet BAORadio - (C) LAL/IRFU 2008-2010
6// Classes de threads de traitememt donnees BAORadio
7//----------------------------------------------------------------
8
9
10#include "racqumem.h"
11#include <string>
12#include <vector>
13#include <iostream>
14
15#include "brpaqu.h"
16
17using namespace std;
18
19//---------------------------------------------------------------------
20// Classe de base pour l'analyse donnees (paquets acquisition) BAORadio
21// Les classes de traitement des paquets BAORadio peuvent heriter de
22// cette classe de base BRBaseProcessor en redefinissant la methode Process()
23//---------------------------------------------------------------------
24class BRBaseProcessor : public SOPHYA::ZThread {
25public:
26 BRBaseProcessor(RAcqMemZoneMgr& memgr, MemZaction mmact=MemZA_ProcA);
27
28 MemZStatus SetMemZAction(MemZaction mmact=MemZA_ProcA);
29
30 virtual void run();
31 inline void Stop();
32 inline void STOP() { stop_ = true; }
33
34 inline void setNameId(const char* nom, int id)
35 { bpnom_=nom; bpid_=id; }
36 inline void setNameId(string nom, int id)
37 { bpnom_=nom; bpid_=id; }
38
39protected:
40 // Methode devant etre redefinie pour effectuer le traitement - appele pour chaque trigger
41 virtual int Process(); // renvoie 0 si OK, sinon, arret traitement
42
43 RAcqMemZoneMgr& memgr_;
44 MemZaction mmact_; // Definition de l'action sur les paquets (defaut=MemZA_ProcA)
45 MemZStatus mmsta_; // Statut associe a mmact_ (defaut=MemZS_ProcA)
46 bool stop_;
47 vector<Byte*> fbuff_; // Vecteur de pointeur de zone memoire pour chaque fibre
48 vector<BRPaquet> vpaq_; // Vecteur de BRPaquet pour chaque fibre
49 vector<BRPaqChecker> vpchk_;
50 vector<uint_8> vfgok_; // Vecteur de flag si paquet OK pour chaque fibre
51 vector<uint_8> curfc_; // Vecteur de numero de FrameCounter pour chaque fibre
52 vector<uint_8> fcfirst_; //
53 vector<uint_8> ttfirst_;
54 bool fgokallfibers_; // true -> paquets for all fibers OK
55
56 uint_8 totprocnpaq_;
57
58 string bpnom_; // nom du processeur
59 int bpid_; // numero d'identificateur
60};
61
62
63
64#endif
Note: See TracBrowser for help on using the repository browser.