KaliVeda  1.13/01
Heavy-Ion Analysis Toolkit
KVZALineFinder.h
Go to the documentation of this file.
1 
4 #ifndef __KVZALINEFINDER_H
5 #define __KVZALINEFINDER_H
6 
7 #include "KVBase.h"
8 
9 #include <TH2F.h>
10 #include <TGraph.h>
11 #include <TGraph2D.h>
12 #include <TFile.h>
13 #include <TMath.h>
14 #include <TNamed.h>
15 #include <TRandom3.h>
16 #include <TSpectrum.h>
17 #include <TROOT.h>
18 
19 #include <Riostream.h>
20 #include <RQ_OBJECT.h>
21 
22 #include "KVIDZAGrid.h"
23 
24 #include <vector>
25 
32 class KVZALineFinder : public KVBase {
33  RQ_OBJECT("KVZALineFinder")
34 
35 protected:
38 
42 
46 
49 
50  std::vector<int> fAList;
51 
52 public:
53  KVZALineFinder(KVIDZAGrid* gg, TH2* hh);
55  virtual ~KVZALineFinder();
56  void Copy(TObject&) const;
57 
58 protected:
59  TH2* LinearizeHisto(Int_t nZbin = 40);
60  void FindALine(Int_t zz, Int_t width = 10);
61  void FindZLine(Int_t zz);
62  void SortLines(TList* Lines);
63  void MakeGrid();
64  void DrawGrid();
65 
66 public:
68  {
69  return fGeneratedGrid;
70  }
72  {
73  return fHisto;
74  }
75  void SetNbinsByZ(Int_t binByZ)
76  {
77  fBinsByZ = binByZ;
78  }
79 
80  void SetAList(const char* Alist);
81  void Draw(Option_t* /*opt_*/ = "")
82  {
83  if (fLines)fLines->Execute("Draw", "\"PN\"");
84  }
85  void ProcessIdentification(Int_t zmin = -1, Int_t zmax = -1);
86 
87  void Increment(Float_t x) // *SIGNAL*
88  {
89  Emit("Increment(Float_t)", x);
90  }
91  void IncrementLinear(Float_t x) // *SIGNAL*
92  {
93  Emit("IncrementLinear(Float_t)", x);
94  }
95 
96 
97  ClassDef(KVZALineFinder, 1) //(try to) find masse lines from charge lines
98 };
99 
100 #endif
int Int_t
#define RQ_OBJECT(sender_class)
float Float_t
const char Option_t
#define ClassDef(name, id)
Base class for KaliVeda framework.
Definition: KVBase.h:141
Identification grid with lines corresponding to different nuclear isotopes (KVIDZALine)
Definition: KVIDZAGrid.h:65
(try to) find mass lines from charge lines
void Draw(Option_t *="")
void FindALine(Int_t zz, Int_t width=10)
void SetNbinsByZ(Int_t binByZ)
TH2 * LinearizeHisto(Int_t nZbin=40)
KVIDZAGrid * GetGrid()
void FindZLine(Int_t zz)
void IncrementLinear(Float_t x)
void Copy(TObject &) const
std::vector< int > fAList
virtual ~KVZALineFinder()
Destructor.
TSpectrum fSpectrum
void SetAList(const char *Alist)
void SortLines(TList *Lines)
TGraph * fPoints
void Increment(Float_t x)
void ProcessIdentification(Int_t zmin=-1, Int_t zmax=-1)
KVZALineFinder(KVIDZAGrid *gg, TH2 *hh)
constructor
KVIDZAGrid * fGeneratedGrid
KVIDZAGrid * fGrid
virtual void Execute(const char *method, const char *params, Int_t *error=0)
Double_t x[n]