KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVIDZAGrid.h
1/***************************************************************************
2 KVIDZAGrid.h - description
3 -------------------
4 begin : Nov 24 2004
5 copyright : (C) 2004 by J.D. Frankland
6 email : frankland@ganil.fr
7
8$Id: KVIDZAGrid.h,v 1.14 2009/04/01 09:38:10 franklan Exp $
9***************************************************************************/
10
11#ifndef KVIDZAGrid_H
12#define KVIDZAGrid_H
13
14#include "KVIDGrid.h"
15#include "TObjArray.h"
16
17class KVIDZALine;
18
66class KVIDZAGrid: public KVIDGrid {
67
68protected:
69
72
73 void SetZmax(Int_t z)
74 {
75 fZMax = z;
76 }
77
86
92
95
96 virtual Bool_t FindFourEmbracingLines(Double_t x, Double_t y, const Char_t* position);
97 void init();
98
99public:
100
101 enum {
113 };
114
115public:
116 KVIDZAGrid();
117 KVIDZAGrid(const KVIDZAGrid&);
118 virtual ~ KVIDZAGrid();
119 virtual void Copy(TObject&) const;
120
121 void RemoveLine(Int_t Z, Int_t A = -1); // *MENU*
122 void RemoveZLines(const Char_t* ZList); // *MENU*
123
124 void SetVarXVarY(const char* VarX, const char* VarY)
125 {
126 SetVarX(VarX);
127 SetVarY(VarY);
128 }
129 virtual void Initialize();// *MENU*
130 void DrawLinesWithWidth();// *MENU={Hierarchy="View.../DrawLinesWithWidth"}*
131
132 virtual void CalculateLineWidths();
134 {
135 return (Int_t)fZMax;
136 }
137 virtual KVIDZALine* GetZLine(Int_t z, Int_t&) const;
139 {
140 return fZMaxLine;
141 }
142 virtual KVIDZALine* GetZALine(Int_t z, Int_t a, Int_t&) const;
143
144 virtual void IdentZA(Double_t x, Double_t y, Int_t& Z, Double_t& A);
146 {
147 return TClass::GetClass("KVIDZALine");
148 }
149 virtual void IdentZ(Double_t x, Double_t y, Double_t& Z);
151 {
154 return fICode;
155 }
156
157 virtual void Identify(Double_t x, Double_t y, KVIdentificationResult*) const;
158
159 inline KVIDLine* GetClosestLine() const
160 {
161 return fClosest;
162 }
164 {
165 return fDistanceClosest;
166 }
168 {
169 return fIdxClosest;
170 }
171
173
174 KVIDGraph* MakeSubsetGraph(Int_t Zmin, Int_t Zmax, const Char_t* /*graph_class*/ = ""); //*MENU*
175 KVIDGraph* MakeSubsetGraph(TList*, TClass* /*graph_class*/ = 0);
176
177 void ReCheckQuality(Int_t& Z, Double_t& A);
178
179 void SetManualWidth(Double_t manual_width = .3, Double_t manual_width_scaling = 0.05); //*MENU*
180
181 ClassDef(KVIDZAGrid, 2) //Base class for 2D Z & A identification grids
182};
183
184class KVIDZGrid : public KVIDZAGrid {
185public:
187 virtual ~KVIDZGrid() {};
188
189 ClassDef(KVIDZGrid, 3) //FOR BACKWARDS COMPATIBILITY ONLY. OBSOLETE.
190};
191#endif
int Int_t
bool Bool_t
unsigned short UShort_t
unsigned char UChar_t
char Char_t
double Double_t
#define ClassDef(name, id)
Base class for particle identification in a 2D map.
Definition KVIDGraph.h:32
virtual void SetVarX(const char *v)
Definition KVIDGraph.h:525
virtual void SetVarY(const char *v)
Definition KVIDGraph.h:529
Abstract base class for 2D identification grids in e.g. (dE,E) maps.
Definition KVIDGrid.h:74
Base class for lines/cuts used for particle identification in 2D data maps.
Definition KVIDLine.h:143
Identification grid with lines corresponding to different nuclear isotopes (KVIDZALine)
Definition KVIDZAGrid.h:66
Double_t dsups
Definition KVIDZAGrid.h:88
Double_t fDistanceClosest
distance from point to closest line
Definition KVIDZAGrid.h:83
Int_t Zsups
Definition KVIDZAGrid.h:90
KVIDLine * fLsup
Definition KVIDZAGrid.h:80
Double_t wsup
Definition KVIDZAGrid.h:89
virtual void CalculateLineWidths()
Int_t Zinf
Definition KVIDZAGrid.h:90
void init()
initialisation
Int_t Ainfi
Definition KVIDZAGrid.h:91
KVIDLine * fClosest
closest line to last-identified point
Definition KVIDZAGrid.h:78
Int_t Ainf
Definition KVIDZAGrid.h:91
void ReCheckQuality(Int_t &Z, Double_t &A)
virtual KVIDZALine * GetZLine(Int_t z, Int_t &) const
virtual void Copy(TObject &) const
Copy this to 'obj'.
KVIDLine * fLinf
Definition KVIDZAGrid.h:81
Int_t Zsup
Definition KVIDZAGrid.h:90
Int_t Asups
Definition KVIDZAGrid.h:91
void DrawLinesWithWidth()
void RemoveZLines(const Char_t *ZList)
Remove and destroy identifiers.
Int_t kinfi
Definition KVIDZAGrid.h:87
virtual void IdentZ(Double_t x, Double_t y, Double_t &Z)
virtual void Identify(Double_t x, Double_t y, KVIdentificationResult *) const
virtual TClass * DefaultIDLineClass()
Definition KVIDZAGrid.h:145
Double_t GetDistanceClosestLine() const
Definition KVIDZAGrid.h:163
Int_t Asup
Definition KVIDZAGrid.h:91
KVIDLine * GetClosestLine() const
Definition KVIDZAGrid.h:159
Int_t ksup
Definition KVIDZAGrid.h:87
KVIDZALine * fZMaxLine
line with biggest Z and A
Definition KVIDZAGrid.h:71
Int_t ksups
used by IdentZA and IdentZ
Definition KVIDZAGrid.h:87
UChar_t GetIndexClosest() const
Definition KVIDZAGrid.h:167
Int_t GetZmax() const
Definition KVIDZAGrid.h:133
Double_t winf
Definition KVIDZAGrid.h:89
Double_t dinf
Definition KVIDZAGrid.h:88
Int_t kinf
Definition KVIDZAGrid.h:87
virtual void Initialize()
void SetZmax(Int_t z)
Definition KVIDZAGrid.h:73
KVIDLine * fLsups
Definition KVIDZAGrid.h:79
Double_t wsups
Definition KVIDZAGrid.h:89
UShort_t fZMax
largest Z of lines in grid
Definition KVIDZAGrid.h:70
void SetVarXVarY(const char *VarX, const char *VarY)
Definition KVIDZAGrid.h:124
Double_t dsup
Definition KVIDZAGrid.h:88
KVIDZAGrid()
default ctor.
virtual void IdentZA(Double_t x, Double_t y, Int_t &Z, Double_t &A)
Int_t fIdxClosest
index of closest line in main list fIdentifiers
Definition KVIDZAGrid.h:84
Int_t Zinfi
Definition KVIDZAGrid.h:90
Int_t fICode
code de retour
Definition KVIDZAGrid.h:85
Double_t winfi
Definition KVIDZAGrid.h:89
KVIDLine * fLinfi
Definition KVIDZAGrid.h:82
Int_t Zint
Z of line used to identify particle.
Definition KVIDZAGrid.h:94
void SetManualWidth(Double_t manual_width=.3, Double_t manual_width_scaling=0.05)
KVIDZALine * GetZmaxLine() const
Definition KVIDZAGrid.h:138
KVIDGraph * MakeSubsetGraph(Int_t Zmin, Int_t Zmax, const Char_t *="")
virtual void MakeEDeltaEZGrid(Int_t Zmin, Int_t Zmax, Int_t npoints=20, Double_t gamma = 2);//*MENU*
Int_t GetQualityCode() const
Definition KVIDZAGrid.h:150
Double_t dinfi
Definition KVIDZAGrid.h:88
virtual Bool_t FindFourEmbracingLines(Double_t x, Double_t y, const Char_t *position)
Int_t Aint
mass of line used to identify particle
Definition KVIDZAGrid.h:93
void RemoveLine(Int_t Z, Int_t A=-1)
Remove and destroy identifier.
virtual KVIDZALine * GetZALine(Int_t z, Int_t a, Int_t &) const
Base class for identification ridge lines corresponding to different nuclear species.
Definition KVIDZALine.h:33
virtual ~KVIDZGrid()
Definition KVIDZAGrid.h:187
Full result of one attempted particle identification.