source: Sophya/trunk/ArchTOIPipe/Kernel/cgt.h@ 1996

Last change on this file since 1996 was 1994, checked in by ansari, 23 years ago

1/ Ajout classe CGT (Compagnie Generale des Tuyaux) - Assistance a l'assemblage
des TOIProcessors .
2/ Corrections mineures ds FitsTOIReader, correction de smkmflib

Reza 13/5/2002

File size: 1.8 KB
Line 
1// This may look like C code, but it is really -*- C++ -*-
2
3// ArchTOIPipe (C) CEA/DAPNIA/SPP IN2P3/LAL
4// Eric Aubourg
5// Christophe Magneville
6// Reza Ansari
7
8#ifndef CGT_H
9#define CGT_H
10
11#include "toi.h"
12#include "toiprocessor.h"
13#include <vector>
14
15// -------------------------------------------------------------------------
16// classe CGT : Compagnie Generale des Tuyaux
17// Gestionnaire de tuyaux (toi) et d'unites de traitements (TOIProcessor)
18// R. Ansari / Mai 2002
19// -------------------------------------------------------------------------
20
21class CGT {
22public:
23 CGT(bool fgsegmented = true, int bufsz=1024, int maxseg=20);
24 virtual ~CGT();
25
26 void SelectTOISegmented(int bufsz=1024, int maxseg=20);
27 void SelectTOISeqBuffered(int wsz=8192);
28
29 inline void SetDebugLevel(int lev=0) {dbgLevel = lev; }
30
31 virtual TOI& Connect(TOIProcessor& prout, string& out,
32 TOIProcessor& prin, string& in, string nom="", int wbsz=0);
33 virtual TOI& Connect(TOIProcessor& prout, const char* out,
34 TOIProcessor& prin, const char* in, string nom="", int wbsz=0);
35
36 virtual void ListProcs(::ostream& os, bool prstat=false); // const plus tard
37 virtual void ListTOIs(::ostream& os, bool prstat=false); // const plus tard
38 virtual void PrintStatus(::ostream & os, bool prstat=false); // const plus tard
39
40 virtual void DeleteProcs();
41 virtual void Start();
42
43protected:
44 int findProcId(TOIProcessor* pr);
45
46 struct tuyau { int pr1id; int pr2id; TOI* toi; };
47 vector< tuyau > lesTuyaux;
48 vector< TOIProcessor* > lesProcs;
49 bool fgSegmented;
50 int segBuffsz, segMaxseg;
51 bool fgSeqbuff;
52 int seqWsz;
53
54 int dbgLevel;
55};
56
57inline ostream& operator << (ostream& os, CGT& cgt)
58{ cgt.PrintStatus(os); return os; }
59
60#endif
Note: See TracBrowser for help on using the repository browser.