KaliVeda
Toolkit for HIC analysis
KVIDZALine Class Reference

Detailed Description

Base class for identification ridge lines corresponding to different nuclear species.

Each line is named "Z=x A=y" where x is the atomic number of the corresponding element (can be set with SetZ()) and y is the mass number (SetA). If only Z is set, the mass number is calculated according to one of the mass formulae defined in KVNucleus class. The default is the default for KVNucleus; you can change it with SetMassFormula.

The sorting function Compare() sorts the lines as a function of increasing Z, then increasing A (i.e. p,d,t,3He,4He,6He, etc. etc.)

Definition at line 33 of file KVIDZALine.h.

#include <KVIDZALine.h>

Inheritance diagram for KVIDZALine:

Public Member Functions

 KVIDZALine ()
 
 KVIDZALine (const KVIDZALine &)
 copy constructor More...
 
virtual ~ KVIDZALine ()
 
Int_t Compare (const TObject *) const override
 
void Copy (TObject &obj) const override
 copy 'this' to 'obj' More...
 
TGraphErrors * GetLineWithWidth ()
 
Double_t GetWidth () const
 
Bool_t HasMassFits () const override
 virtual Int_t GetID() const { return GetA();} More...
 
void Print (Option_t *opt="") const override
 
void ReadAsciiFile_KVIDZLine (std::ifstream &)
 
void SetWidth (Double_t w)
 
- Public Member Functions inherited from KVIDLine
 KVIDLine ()
 Default ctor. More...
 
 KVIDLine (const KVIDLine &)
 copy constructor More...
 
 KVIDLine (const TGraph &gr)
 initialize KVIDLine using TGraph copy ctor More...
 
virtual ~ KVIDLine ()
 
Double_t DistanceToLine (Double_t px, Double_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2, Int_t &)
 
Double_t DistanceToLine (Double_t px, Double_t py, Int_t &)
 
void ExecuteEvent (Int_t event, Int_t px, Int_t py) override
 
void GetEndPoint (Double_t &x, Double_t &y) const
 
void GetStartPoint (Double_t &x, Double_t &y) const
 
Bool_t IsBetweenEndPoints (Double_t x, Double_t y, std::optional< TString > axis={}) const
 
Bool_t PosRelToLine (Option_t *opt, Double_t px, Double_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
 
void WaitForPrimitive () override
 
Bool_t WhereAmI (const KVIDLine &, const TString &tested_direction) const
 static KVIDLine *MakeIDLine(TH2 *obj,TCutG *cut,Double_t xdeb=-1.,Double_t xfin=-1.,Double_t np=1.,Bool_t save=kFALSE); More...
 
Bool_t WhereAmI (Double_t px, Double_t py, Option_t *opt) const
 
- Public Member Functions inherited from KVIDentifier
 KVIDentifier ()
 Default constructor. More...
 
 KVIDentifier (const KVIDentifier &)
 
 KVIDentifier (const TCutG &)
 copy a TCutG More...
 
 KVIDentifier (const TGraph &)
 copy a TGraph More...
 
virtual ~KVIDentifier ()
 Destructor. More...
 
virtual Int_t AddPointAtTheEnd ()
 
virtual void ChechHierarchy (KVIDentifier *gr)
 
virtual void CloneScaleStore (Int_t newzt, Int_t newat, Double_t dy=0., Double_t sx=1., Double_t sy=1.)
 
Int_t Compare (const TObject *) const override
 
virtual Int_t ContinueDrawing ()
 Continue to draw an existing the line. More...
 
void Copy (TObject &obj) const override
 Copy attributes of this identifier into 'obj'. More...
 
void CopyGraph (const TGraph &)
 Copy coordinates of points from the TGraph. More...
 
void CopyGraph (TGraph *)
 Copy coordinates of points from the TGraph. More...
 
virtual Int_t DecreaseNumberOfPoints ()
 
void Delete (Option_t *option="") override
 
void DrawClass () const override
 
TObject * DrawClone (Option_t *option="") const override
 
void DrawPanel () override
 
void Dump () const override
 
void ExtendLine (bool fromBeginning, Double_t Limit, Option_t *Direction)
 
void ExtendLine (Double_t, Option_t *Direction="")
 
TFitResultPtr Fit (const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0) override
 
TFitResultPtr Fit (TF1 *f1, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0) override
 
void FitPanel () override
 
virtual Int_t GetA () const
 
virtual Int_t GetID () const
 
virtual Int_t GetMassFormula () const
 
KVIDGraph * GetParent () const
 Get pointer to parent ID graph. More...
 
virtual Double_t GetPID () const
 
virtual const Char_t * GetSelectionType () const
 
const Char_t * GetType () const
 
virtual Int_t GetZ () const
 
virtual Int_t IncreaseNumberOfPoints ()
 
Int_t InsertPoint () override
 Insert a new point at the mouse position. More...
 
virtual Int_t InsertSmoothPoint ()
 Insert a new point at the mouse X position using a smooth evaluation of the Y. More...
 
void Inspect () const override
 
void NotifyParentOfModification ()
 If identifier belongs to a graph/grid, send signal to say it has been modified. More...
 
virtual Bool_t OnlyZId () const
 
void Print (Option_t *opt) const override
 
virtual void ReadAsciiFile (std::ifstream &)
 
virtual Int_t RemoveFirstPoint ()
 
virtual Int_t RemoveLastPoint ()
 
virtual Int_t RemovePoint () override
 
virtual Int_t RemovePoint (Int_t i) override
 
void SaveAs (const char *filename="", Option_t *option="") const override
 
void Scale (TF1 *sx, TF1 *sy)
 
void ScaleXY (Double_t sx=-1, Double_t sy=-1)
 
virtual void SetA (Int_t atnum)
 
virtual void SetAandZ (Int_t atnum, Int_t ztnum)
 
void SetDrawOption (Option_t *option="") override
 
void SetFillAttributes () override
 
void SetLineAttributes () override
 
void SetMarkerAttributes () override
 
virtual void SetMassFormula (Int_t mf)
 
void SetMaximum (Double_t maximum=-1111) override
 
void SetMinimum (Double_t minimum=-1111) override
 
void SetName (const char *name) override
 
virtual void SetOnlyZId (Bool_t onlyz=kTRUE)
 
void SetParent (KVIDGraph *)
 Set pointer to parent ID graph. More...
 
void SetTitle (const char *title="") override
 
virtual void SetZ (Int_t ztnum)
 
virtual Int_t SortPoints (Bool_t ascending=kTRUE)
 
virtual Bool_t TestPoint (Double_t, Double_t)
 
virtual void WriteAsciiFile (std::ofstream &, const Char_t *name_prefix="")
 

Friends

class KVIDZAGrid
 

Additional Inherited Members

- Static Public Member Functions inherited from KVIDLine
static KVIDLine * MakeIDLine (TObject *obj, Double_t xdeb=-1., Double_t xfin=-1., Double_t np=1., Bool_t save=kFALSE)
 

Constructor & Destructor Documentation

◆ KVIDZALine() [1/2]

KVIDZALine::KVIDZALine ( )

Default ctor Line width is set to zero Default identification is set to proton

Definition at line 35 of file KVIDZALine.cpp.

◆ KVIDZALine() [2/2]

KVIDZALine::KVIDZALine ( const KVIDZALine &  obj)

copy constructor

Definition at line 51 of file KVIDZALine.cpp.

◆ ~ KVIDZALine()

virtual KVIDZALine::~ KVIDZALine ( )
virtual

Member Function Documentation

◆ Compare()

Int_t KVIDZALine::Compare ( const TObject *  obj) const
inlineoverride

Used to sort lists of KVIDZALines. Sorts the lines as a function of increasing Z, then increasing A (i.e. p,d,t,3He,4He,6He, etc. etc.)

First compare Z : only if Z1=Z2 do we need to compare A

same Z: compare A

Definition at line 87 of file KVIDZALine.h.

◆ Copy()

void KVIDZALine::Copy ( TObject &  obj) const
override

copy 'this' to 'obj'

Definition at line 64 of file KVIDZALine.cpp.

◆ GetLineWithWidth()

TGraphErrors * KVIDZALine::GetLineWithWidth ( )

Return pointer to TGraphError object which can be used to visualise the natural width of this identification line. If line width = 16000, the error bar is set to 0

Definition at line 194 of file KVIDZALine.cpp.

◆ GetWidth()

Double_t KVIDZALine::GetWidth ( ) const
inline

Definition at line 61 of file KVIDZALine.h.

◆ HasMassFits()

Bool_t KVIDZALine::HasMassFits ( ) const
overridevirtual

virtual Int_t GetID() const { return GetA();}

returns true if there are multi-gaussian mass fit parameters associated with this line

Reimplemented from KVIDentifier.

Definition at line 158 of file KVIDZALine.cpp.

◆ Print()

void KVIDZALine::Print ( Option_t *  opt = "") const
override

Print out for line The optional "opt" string, if given, is printed in parentheses after the line's name This is used by KVIDGrid in order to show which lines are "ID" lines and which are "OK" lines (i.e. used to define an identifiable area in a data map).

Definition at line 174 of file KVIDZALine.cpp.

◆ ReadAsciiFile_KVIDZLine()

void KVIDZALine::ReadAsciiFile_KVIDZLine ( std::ifstream &  )

/‍*********** BACKWARDS COMPATIBILITY FIX ************* special read method for old KVIDZLines

Read coordinates of line in file buffer stream Format is : Z number_of_points x1 y1 x2 y2 ... etc. etc.

Definition at line 129 of file KVIDZALine.cpp.

◆ SetWidth()

void KVIDZALine::SetWidth ( Double_t  w)
inline

Definition at line 65 of file KVIDZALine.h.

Friends And Related Function Documentation

◆ KVIDZAGrid

friend class KVIDZAGrid
friend

Definition at line 35 of file KVIDZALine.h.