GammaWare  Head Version for release 0.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CubicFilter.h
Go to the documentation of this file.
1 
2 
3 
4 #ifndef Gw_CubicFilter
5 #define Gw_CubicFilter
6 
7 #ifndef Gw_CSFilter
8 #include "CSFilter.h"
9 #endif
10 
11 #ifndef ROOT_TObject
12 #include "TObject.h"
13 #endif
14 
15 class TList;
16 namespace Gw {
17 class Gate;
18 
22 class CubicFilter : public CSFilter
23 {
24 
25 private:
26 
27  TList* fGateList;
28  Bool_t IsPeak;
29 
30 private:
31 
33  void FillGates();
34 
36  void FillBkgGates();
37 
39  void ResetGates();
40 
41 public:
42  CubicFilter();
43  virtual ~CubicFilter();
44 
46  Int_t IsInside(Double_t* energies, Int_t mult, Short_t* inGate, Int_t iGate = 0);
47 
49  void MakeGates(Option_t* opt = "peak");
50 
52  void Reset();
53 
55  void ImportGates(const Char_t* name, Option_t* opt = "update");
56 
58  void AddGate(Double_t gateInf, Double_t gateSup, Int_t axis = 0, Option_t* opt = "update");
59 
61  Bool_t IsListFilled(Int_t idx);
62 
64  Bool_t IsCombined();
65 
66  ClassDef(CubicFilter,1) // Correlated Space Filter
67 };
68 
69 
70 class Gate : public TObject
71 {
72 
73 private:
74 
75  TArrayD fGateInf;
76  TArrayD fGateSup;
77 
78 public:
79 
80  Gate();
81  virtual ~Gate();
82 
84  Int_t GetNofGates() const { return fGateSup.GetSize(); }
85 
87  Double_t GetGateInf(Int_t idx) { return fGateInf.At(idx); }
88 
90  Double_t GetGateSup(Int_t idx) { return fGateSup.At(idx); }
91 
93  void AddGate(Double_t gateInf, Double_t gateSup, Option_t* opt = "update");
94 
96  void Reset();
97 
98  ClassDef(Gate,1) // Correlated Space Filter
99 
100 };
101 
102 } // end namespace
103 
104 #endif
void Reset()
Reset gates.
void Reset()
Reset gates.
Definition: CubicFilter.cpp:69
Gate()
superior gate array
Double_t GetGateInf(Int_t idx)
Get gate inf.
Definition: CubicFilter.h:87
CubicFilter class for cubic gates.
Definition: CubicFilter.h:22
virtual ~CubicFilter()
Definition: CubicFilter.cpp:62
void AddGate(Double_t gateInf, Double_t gateSup, Int_t axis=0, Option_t *opt="update")
Add gate.
Bool_t IsCombined()
Flag to combined.
Double_t GetGateSup(Int_t idx)
Get Gate sup.
Definition: CubicFilter.h:90
Bool_t IsListFilled(Int_t idx)
Check if gate filled.
Definition: CubicFilter.cpp:76
void MakeGates(Option_t *opt="peak")
Make gates.
CSFilter base class for filter.
Definition: CSFilter.h:56
void AddGate(Double_t gateInf, Double_t gateSup, Option_t *opt="update")
Add gate.
void ImportGates(const Char_t *name, Option_t *opt="update")
Import gates from file.
Definition: CubicFilter.cpp:87
Int_t IsInside(Double_t *energies, Int_t mult, Short_t *inGate, Int_t iGate=0)
Get energies inside gates.
Int_t GetNofGates() const
Get number of gates.
Definition: CubicFilter.h:84
virtual ~Gate()