| Last change
 on this file since 2044 was             2000, checked in by ansari, 23 years ago | 
        
          | 
Corrections diverses et introduction d'une classe de calcul de ligne debase par ajustement glissant d'un polynome (SimpleOffsetEstimator)
 avec son programme test -  Reza 14/5/2002
 
 | 
        
          | File size:
            1.7 KB | 
      
      
| Rev | Line |  | 
|---|
| [1365] | 1 | // This may look like C code, but it is really -*- C++ -*- | 
|---|
|  | 2 |  | 
|---|
| [1738] | 3 | // ArchTOIPipe           (C)     CEA/DAPNIA/SPP IN2P3/LAL | 
|---|
|  | 4 | //                               Eric Aubourg | 
|---|
|  | 5 | //                               Christophe Magneville | 
|---|
|  | 6 | //                               Reza Ansari | 
|---|
| [2000] | 7 | // $Id: toimanager.h,v 1.13 2002-05-14 13:06:57 ansari Exp $ | 
|---|
| [1738] | 8 |  | 
|---|
|  | 9 |  | 
|---|
| [1365] | 10 | #ifndef TOIMANAGER_H | 
|---|
|  | 11 | #define TOIMANAGER_H | 
|---|
|  | 12 |  | 
|---|
| [1766] | 13 | #include "config.h" | 
|---|
| [1687] | 14 | #include <string> | 
|---|
| [1766] | 15 | #include <vector> | 
|---|
| [1365] | 16 |  | 
|---|
| [1410] | 17 | using namespace std; | 
|---|
|  | 18 |  | 
|---|
| [1365] | 19 | class TOIManager { | 
|---|
|  | 20 | public: | 
|---|
|  | 21 | static TOIManager* getManager(); | 
|---|
| [1702] | 22 | void setRequestedSample(int begin, int end); | 
|---|
|  | 23 | int getRequestedBegin(); | 
|---|
|  | 24 | int getRequestedEnd(); | 
|---|
| [1365] | 25 | void addThread(pthread_t*); | 
|---|
|  | 26 | void joinAll(); | 
|---|
|  | 27 |  | 
|---|
|  | 28 | protected: | 
|---|
|  | 29 | TOIManager(); | 
|---|
|  | 30 | static TOIManager* instance; | 
|---|
|  | 31 | long reqBegin; | 
|---|
|  | 32 | long reqEnd; | 
|---|
|  | 33 |  | 
|---|
|  | 34 | vector<pthread_t*> threads; | 
|---|
|  | 35 | }; | 
|---|
|  | 36 |  | 
|---|
| [1687] | 37 | // ----------------------------------------------------------------- | 
|---|
|  | 38 | //    Classe pour affichage de l'avancement des TOIProcessors | 
|---|
|  | 39 | //                         Reza 08/2001 | 
|---|
|  | 40 | // ----------------------------------------------------------------- | 
|---|
|  | 41 |  | 
|---|
|  | 42 | class RzProcSampleCounter { | 
|---|
|  | 43 | public: | 
|---|
| [1702] | 44 | RzProcSampleCounter(); | 
|---|
| [1687] | 45 | virtual       ~RzProcSampleCounter(); | 
|---|
| [1702] | 46 | virtual long  ProcessedSampleCount() = 0; | 
|---|
| [1999] | 47 | virtual long  SampleBegin() = 0; | 
|---|
|  | 48 | virtual long  SampleEnd() = 0; | 
|---|
| [1687] | 49 | virtual long  PrintStats(); | 
|---|
|  | 50 | inline int &  PrintRate(int pr) { return _rate; } | 
|---|
|  | 51 | inline string& InfoMessage() { return _msg; } | 
|---|
|  | 52 | protected: | 
|---|
|  | 53 | int _rate; | 
|---|
|  | 54 | string _msg; | 
|---|
|  | 55 | }; | 
|---|
|  | 56 |  | 
|---|
|  | 57 | template <class T> | 
|---|
|  | 58 | class ProcSampleCounter : public RzProcSampleCounter { | 
|---|
|  | 59 | public: | 
|---|
| [2000] | 60 | ProcSampleCounter(T & t) { _t = &t; } | 
|---|
| [1702] | 61 | virtual long  ProcessedSampleCount() | 
|---|
|  | 62 | { return _t->ProcessedSampleCount(); } | 
|---|
| [1999] | 63 | virtual long  SampleBegin() { return _t->getMinIn(); } | 
|---|
|  | 64 | virtual long  SampleEnd() { return _t->getMaxIn(); } | 
|---|
| [1687] | 65 | protected: | 
|---|
| [2000] | 66 | T * _t; | 
|---|
| [1687] | 67 | }; | 
|---|
|  | 68 |  | 
|---|
| [1365] | 69 | #endif | 
|---|
| [1702] | 70 |  | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.