10 #ifndef __KVIDENTIFIER_H
11 #define __KVIDENTIFIER_H
13 #include "Riostream.h"
15 #include "KVNucleus.h"
42 virtual void WriteAsciiFile_extras(std::ofstream&,
const Char_t* =
"") {}
46 virtual void ReadAsciiFile_extras(std::ifstream&) {}
47 virtual void SetNameFromNucleus()
66 Int_t
Compare(
const TObject*)
const override;
67 void Copy(TObject& obj)
const override;
69 virtual void WriteAsciiFile(std::ofstream&,
const Char_t* name_prefix =
"");
84 virtual void SetZ(Int_t ztnum)
89 virtual void SetA(Int_t atnum)
94 virtual void SetAandZ(Int_t atnum, Int_t ztnum)
102 fGridOnlyZId = onlyz;
113 SetNameFromNucleus();
126 AbstractMethod(
"TestMethod(Double_t x, Double_t y");
134 void ScaleXY(Double_t sx = -1, Double_t sy = -1);
135 void Scale(TF1* sx, TF1* sy);
137 void Print(Option_t* opt)
const override;
141 void ExtendLine(Double_t, Option_t* Direction =
"");
142 void ExtendLine(
bool fromBeginning, Double_t Limit, Option_t* Direction);
148 TGraph::SetMaximum(maximum);
152 TGraph::SetMinimum(minimum);
156 TGraph::SetTitle(title);
166 TFitResultPtr
Fit(
const char* formula, Option_t* option =
"", Option_t* goption =
"", Axis_t xmin = 0, Axis_t xmax = 0)
override
168 return TGraph::Fit(formula, option, goption, xmin, xmax);
170 TFitResultPtr
Fit(TF1* f1, Option_t* option =
"", Option_t* goption =
"", Axis_t xmin = 0, Axis_t xmax = 0)
override
172 return TGraph::Fit(f1, option, goption, xmin, xmax);
178 TGraph::SetName(name);
183 void Delete(Option_t* option =
"")
override
185 TGraph::Delete(option);
191 TObject*
DrawClone(Option_t* option =
"")
const override
193 return TGraph::DrawClone(option);
195 virtual void CloneScaleStore(Int_t newzt, Int_t newat, Double_t dy = 0., Double_t sx = 1., Double_t sy = 1.);
204 void SaveAs(
const char* filename =
"", Option_t* option =
"")
const override
206 TGraph::SaveAs(filename, option);
210 TGraph::SetDrawOption(option);
214 TGraph::SetLineAttributes();
218 TGraph::SetFillAttributes();
222 TGraph::SetMarkerAttributes();
231 virtual Int_t
SortPoints(Bool_t ascending = kTRUE);
238 return TCutG::RemovePoint(i);
244 virtual Double_t
GetPID()
const;
Base class for particle identification in a 2D map.
Base class for graphical cuts used in particle identification.
virtual void SetOnlyZId(Bool_t onlyz=kTRUE)
virtual Int_t RemovePoint(Int_t i) override
virtual void SetMassFormula(Int_t mf)
virtual void SetAandZ(Int_t atnum, Int_t ztnum)
virtual Int_t RemoveFirstPoint()
void DrawClass() const override
void SaveAs(const char *filename="", Option_t *option="") const override
void SetFillAttributes() override
virtual Int_t DecreaseNumberOfPoints()
TFitResultPtr Fit(TF1 *f1, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0) override
void Delete(Option_t *option="") override
virtual Double_t GetPID() const
virtual Int_t AddPointAtTheEnd()
Int_t Compare(const TObject *) const override
virtual Int_t RemovePoint() override
virtual Int_t GetA() const
void Copy(TObject &obj) const override
Copy attributes of this identifier into 'obj'.
virtual Int_t RemoveLastPoint()
virtual Int_t InsertSmoothPoint()
Insert a new point at the mouse X position using a smooth evaluation of the Y.
virtual Int_t IncreaseNumberOfPoints()
void ExtendLine(Double_t, Option_t *Direction="")
TObject * DrawClone(Option_t *option="") const override
virtual void WaitForPrimitive()
Int_t InsertPoint() override
Insert a new point at the mouse position.
virtual Int_t GetZ() const
void ScaleXY(Double_t sx=-1, Double_t sy=-1)
void SetParent(KVIDGraph *)
Set pointer to parent ID graph.
virtual Int_t GetID() const
virtual void ChechHierarchy(KVIDentifier *gr)
void Dump() const override
void SetLineAttributes() override
virtual Bool_t HasMassFits() const
virtual ~KVIDentifier()
Destructor.
void CopyGraph(TGraph *)
Copy coordinates of points from the TGraph.
void SetMaximum(Double_t maximum=-1111) override
void SetMinimum(Double_t minimum=-1111) override
virtual Bool_t OnlyZId() const
virtual Int_t GetMassFormula() const
void NotifyParentOfModification()
If identifier belongs to a graph/grid, send signal to say it has been modified.
virtual void CloneScaleStore(Int_t newzt, Int_t newat, Double_t dy=0., Double_t sx=1., Double_t sy=1.)
virtual void WriteAsciiFile(std::ofstream &, const Char_t *name_prefix="")
virtual const Char_t * GetSelectionType() const
void DrawPanel() override
void SetMarkerAttributes() override
void SetTitle(const char *title="") override
virtual Int_t SortPoints(Bool_t ascending=kTRUE)
virtual void SetA(Int_t atnum)
KVIDGraph * GetParent() const
Get pointer to parent ID graph.
KVIDentifier()
Default constructor.
void Print(Option_t *opt) const override
virtual void ReadAsciiFile(std::ifstream &)
virtual Bool_t TestPoint(Double_t, Double_t)
const Char_t * GetType() const
virtual void SetZ(Int_t ztnum)
void SetDrawOption(Option_t *option="") override
virtual Int_t ContinueDrawing()
Continue to draw an existing the line.
void SetName(const char *name) override
TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0) override
void Inspect() const override
void Scale(TF1 *sx, TF1 *sy)
Description of properties and kinematics of atomic nuclei.
void SetZ(Int_t z, Char_t mt=-1)
void SetMassFormula(UChar_t mt)
Int_t GetZ() const
Return the number of proton / atomic number.
Int_t GetMassFormula() const