source: Sophya/trunk/ArchTOIPipe/ProcWSophya/ktoibad.h@ 1736

Last change on this file since 1736 was 1736, checked in by cmv, 24 years ago

add FlagOutOfRange cmv 7/11/2001

File size: 2.9 KB
Line 
1// This may look like C code, but it is really -*- C++ -*-
2#ifndef TOI2MAP_H
3#define TOI2MAP_H
4
5#include "toiprocessor.h"
6#include "flagtoidef.h"
7#include "slinparbuff.h"
8
9//////////////////////////////////////////////////////
10//-- Pour flagguer les samples hors dynamique
11// toi BoloIn ---> |FlagOutOfRange| ---> toi BoloOut
12//////////////////////////////////////////////////////
13class FlagOutOfRange : public TOIProcessor {
14public:
15 FlagOutOfRange(r_8 vmin,r_8 vmax,uint_8 flag=FlgToiOut);
16 virtual ~FlagOutOfRange();
17
18 virtual void init(void);
19 virtual void run(void);
20
21 //! Print
22 void Print(ostream & os);
23 inline void Print(void) {Print(cout);}
24
25protected:
26 uint_8 flgBad;
27 r_8 VMin,VMax;
28};
29
30//////////////////////////////////////////////////////
31//-- Pour rechercher les glitches
32// toi BoloIn ---> |FlagGlitch| ---> toi BoloOut
33//////////////////////////////////////////////////////
34class FlagGlitch : public TOIProcessor {
35public:
36 FlagGlitch(uint_4 lg,uint_4 lm,r_8 nsg);
37 virtual ~FlagGlitch();
38
39 virtual void init(void);
40 virtual void run(void);
41
42 //! Ne pas traiter les sample deja flaggues par la valeur flag
43 inline void DoNotLookAt(uint_8 flag=0) {flgNotLookAt = flag;}
44 //! Flagguer les glitches avec la valeur flag
45 inline void SetFlag(uint_8 flag=FlgToiSpike) {flgGlitch = flag;}
46 //! Frequency to update SLinParBuff buffer
47 void SetBuffUpd(uint_4 bupd=1000) {BuffUpdate = bupd;}
48 //! Print
49 void Print(ostream & os);
50 inline void Print(void) {Print(cout);}
51 //! Debugging print lp=ab
52 // a>0 ntuple entre snb,sne
53 // b>0 print general
54 // >1 print debug entre snb,sne
55 inline void SetDebug(int_4 lp,int_4 snb,int_4 sne)
56 {mLP=(lp>=0)?lp:0; mLPsnb=snb; mLPsne=sne;}
57
58protected:
59 int_4 mLP,mLPsnb,mLPsne;
60 uint_8 flgNotLookAt,flgGlitch;
61 r_8 NSCut;
62 uint_4 BuffUpdate;
63 uint_4 LGlitch,LSide;
64 SLinParBuff* Slpb[2];
65};
66
67//////////////////////////////////////////////////////
68//-- Pour flagguer les samples autour de samples deja flaggues
69// Permet aussi de flagguer les samples ayant de mauvaises valeurs.
70// toi BoloIn ---> |FlagAroundFlag| ---> toi BoloOut
71//////////////////////////////////////////////////////
72class FlagAroundFlag : public TOIProcessor {
73public:
74 FlagAroundFlag(uint_4 lm,uint_8 flgs=FlgToiAll);
75 virtual ~FlagAroundFlag();
76
77 virtual void init(void);
78 virtual void run(void);
79
80 //! Flagguer les samples avec la valeur flag
81 inline void SetFlag(uint_8 flag=FlgToiAround) {flgAround = flag;}
82 //! Flagguer autour des samples ayant la valeur flag
83 inline void SetFlagAroundFlag(uint_8 flag=FlgToiAll) {flgSample = flag;}
84 //! Flagguer les samples hors limite
85 inline void SetLimits(r_8 vmin=1.,r_8 vmax=-1.,uint_8 flag=FlgToiOut)
86 {VMin=vmin; VMax=vmax; flgBad = flag;}
87 //! Print
88 void Print(ostream & os);
89 inline void Print(void) {Print(cout);}
90
91protected:
92 uint_8 flgSample,flgAround,flgBad;
93 uint_4 LSide;
94 r_8 VMin,VMax;
95};
96
97#endif
Note: See TracBrowser for help on using the repository browser.