KaliVeda  1.12/06
Heavy-Ion Analysis Toolkit
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
KVIDZAGrid Class Reference

Identification grid with lines corresponding to different nuclear isotopes (KVIDZALine)

Such a grid can be used either to identify simultaneously both the mass and charge of detected particles (if lines for several isotopes of each atomic number are drawn), or solely the charge (if only one isotope per Z is drawn, and if SetOnlyZId(kTRUE) is called).

Identification quality codes

After each identification attempt, the value returned by GetQualityCode() indicates whether the identification was successful or not. The meaning of the different codes depends on the type of identification.

Z & A (mass & charge) isotopic identification grid

Z-only charge identification grid

In both cases, an acceptable identification is achieved if the quality code is kICODE0, kICODE1, kICODE2, or kICODE3.
Points with codes kICODE4 or kICODE5 are normally considered as "noise" (pile-up ?) and should be rejected.
Points which are (vertically) out of range for this grid have code kICODE6 (point too far below) or kICODE7 (point too far above).
Points with code kICODE8 are totally out of range.

Definition at line 65 of file KVIDZAGrid.h.

Public Types

enum  {
  kICODE0 , kICODE1 , kICODE2 , kICODE3 ,
  kICODE4 , kICODE5 , kICODE6 , kICODE7 ,
  kICODE8 , kICODE9 , kICODE10
}
 
- Public Types inherited from TGraph
enum  EStatusBits
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 

Public Member Functions

 KVIDZAGrid ()
 default ctor. More...
 
 KVIDZAGrid (const KVIDZAGrid &)
 Copy constructor. More...
 
virtual ~ KVIDZAGrid ()
 
void AddParameter (char *Name, char *Value)
 
virtual void CalculateLineWidths ()
 
virtual void Copy (TObject &) const
 Copy this to 'obj'. More...
 
virtual TClassDefaultIDLineClass ()
 
void DrawLinesWithWidth ()
 
KVIDLineGetClosestLine () const
 
Double_t GetDistanceClosestLine () const
 
UChar_t GetIndexClosest () const
 
Int_t GetQualityCode () const
 
virtual KVIDZALineGetZALine (Int_t z, Int_t a, Int_t &) const
 
virtual KVIDZALineGetZLine (Int_t z, Int_t &) const
 
Int_t GetZmax () const
 
KVIDZALineGetZmaxLine () const
 
virtual void Identify (Double_t x, Double_t y, KVIdentificationResult *) const
 
virtual void IdentZ (Double_t x, Double_t y, Double_t &Z)
 
virtual void IdentZA (Double_t x, Double_t y, Int_t &Z, Double_t &A)
 
virtual void Initialize ()
 
KVIDGraphMakeSubsetGraph (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* More...
 
KVIDGraphMakeSubsetGraph (TList *, TClass *=0)
 
void ReCheckQuality (Int_t &Z, Double_t &A)
 
void RemoveLine (Int_t Z, Int_t A=-1)
 Remove and destroy identifier. More...
 
void RemoveZLines (const Char_t *ZList)
 Remove and destroy identifiers. More...
 
void SetManualWidth (Double_t manual_width=.3, Double_t manual_width_scaling=0.05)
 
void SetVarXVarY (char *VarX, char *VarY)
 
- Public Member Functions inherited from KVIDGrid
 KVIDGrid ()
 Default constructor. More...
 
virtual ~ KVIDGrid ()
 
virtual TClassDefaultOKLineClass ()
 
KVIDLineFindNearestEmbracingIDLine (Double_t x, Double_t y, const Char_t *position, const Char_t *axis, Int_t &idx, Int_t &idx_min, Int_t &idx_max, Double_t &dist, Double_t &dist_min, Double_t &dist_max) const
 
KVIDLineFindNearestIDLineFast (Double_t x, Double_t y, const Char_t *position, Int_t &idx, Int_t &idx_min, Int_t &idx_max, Double_t &dist, Double_t &dist_min, Double_t &dist_max) const
 
KVIDLineFindNextEmbracingLine (Int_t &index, Int_t inc_index, Double_t x, Double_t y, const Char_t *axis) const
 
Int_t GetIDLinesEmbracingPoint (const Char_t *direction, Double_t x, Double_t y) const
 
KVIDLineNewLine (const Char_t *idline_class="")
 
- Public Member Functions inherited from KVIDGraph
 KVIDGraph ()
 
 KVIDGraph (const KVIDGraph &)
 Copy constructor. More...
 
virtual ~KVIDGraph ()
 Destructor. More...
 
virtual Bool_t AcceptIDForTest (const KVIdentificationResult &idr)
 
void Add (TString, KVIDentifier *)
 
KVIDentifierAdd (TString, TString)
 
virtual void AddCut (KVIDentifier *cut)
 
virtual void AddIdentifier (KVIDentifier *id)
 
void AddIDTelescope (KVBase *t)
 
void AddIDTelescopes (const TList *)
 Associate this graph with all ID telescopes in list. More...
 
virtual void AddInfo (KVIDentifier *info)
 
virtual Int_t CheckVersion (Int_t version)
 
virtual void Clear (Option_t *opt="")
 
void ClearListOfTelescopes ()
 
void ClearPad (TVirtualPad *)
 
virtual void Delete (Option_t *option="")
 
void Draw (Option_t *opt="")
 
virtual void DrawAndAdd (const Char_t *type="ID", const Char_t *classname="KVIDentifier")
 
virtual void DrawClass () const
 
virtual TObjectDrawClone (Option_t *option="") const
 
virtual void DrawPanel ()
 
virtual void Dump () const
 
virtual Bool_t ExistVersion (Int_t version)
 
void FindAxisLimits ()
 Calculate X/Y min/max of all objects in graph. More...
 
virtual TFitResultPtr Fit (const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
 
virtual TFitResultPtr Fit (TF1 *f1, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
 
virtual void FitPanel ()
 virtual void SetTitle(const char *title="") {TGraph::SetTitle(title);}; More...
 
KVIDentifierGetCut (const Char_t *name) const
 
KVListGetCuts () const
 
KVIDentifierGetIdentifier (const Char_t *name) const
 
KVIDentifierGetIdentifier (Int_t Z, Int_t A) const
 
KVIDentifierGetIdentifierAt (Int_t index) const
 
KVListGetIdentifiers () const
 
const Char_tGetIDTelescopeLabel () const
 
const TListGetIDTelescopes () const
 
KVIDentifierGetInfo (const Char_t *name) const
 
KVListGetInfos () const
 
KVIDGraphGetLastSavedVersion () const
 
Int_t GetMassFormula () const
 
const Char_tGetName () const
 
const Char_tGetNamesOfIDTelescopes () const
 
Int_t GetNumberOfCuts () const
 
Int_t GetNumberOfIdentifiers () const
 
Int_t GetNumberOfInfos () const
 
TVirtualPadGetPad () const
 
KVNameValueListGetParameters () const
 
TString GetPattern (void)
 
const Char_tGetRunList () const
 
const KVNumberListGetRuns () const
 
Axis_t GetXmax () const
 
Axis_t GetXmin () const
 
Double_t GetXScaleFactor ()
 
Axis_t GetYmax () const
 
Axis_t GetYmin () const
 
Double_t GetYScaleFactor ()
 
Bool_t HandlesIDTelescope (KVBase *t) const
 
virtual Bool_t HasMassIDCapability () const
 
void Increment (Float_t x)
 
virtual Int_t InsertPoint ()
 
virtual void Inspect () const
 
TVirtualPadIsDrawn () const
 
virtual Bool_t IsIdentifiable (Double_t, Double_t, TString *rejected_by=nullptr) const
 
Bool_t IsSorted () const
 
void Modified ()
 
void Print (Option_t *opt="") const
 Print out all objects in graph. More...
 
void ReadAsciiFile (const Char_t *filename)
 
virtual void ReadAsciiFile_WP (Int_t version=-1)
 lecture des grilles avec version suivant un modele de fichier More...
 
void RemoveCut (KVIDentifier *)
 Remove and destroy cut. More...
 
void RemoveIdentifier (KVIDentifier *)
 Remove and destroy identifier. More...
 
void RemoveIDTelescope (KVBase *t)
 
void RemoveInfo (KVIDentifier *)
 Remove and destroy cut. More...
 
virtual Int_t RemovePoint ()
 
virtual Int_t RemovePoint (Int_t i)
 
void ResetDraw ()
 
void ResetPad ()
 
void RevertToLastSavedVersion ()
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 
void Scale (TF1 *sx, TF1 *sy)
 
virtual void SetDrawOption (Option_t *option="")
 
virtual void SetEditable (Bool_t editable=kTRUE)
 
virtual void SetFillAttributes ()
 
virtual void SetInfos (Double_t, Double_t, KVIdentificationResult *) const
 loop over KVIDGraph::fInfoZones to set flags in KVIdentificationResult More...
 
virtual void SetLineAttributes ()
 
void SetLineColor (Color_t lcolor)
 
void SetLineStyle (Style_t lstyle)
 
void SetLineWidth (Width_t lwidth)
 
virtual void SetMarkerAttributes ()
 
void SetMassFormula (Int_t)
 
virtual void SetMassIDCapability (Bool_t yes=kTRUE)
 
virtual void SetMaximum (Double_t maximum=-1111)
 
virtual void SetMinimum (Double_t minimum=-1111)
 
virtual void SetName (const char *name)
 
virtual void SetOnlyZId (Bool_t yes=kTRUE)
 
void SetPattern (TString pattern)
 
void SetRunList (const char *runlist)
 
void SetRuns (const KVNumberList &nl)
 Set list of runs for which grid is valid. More...
 
virtual void SetVarX (const char *v)
 
virtual void SetVarY (const char *v)
 
void SetXScaleFactor (Double_t=0)
 
void SetXVariable (const char *v)
 void SetIDTelescopes();// MENU={Hierarchy="Set.../ID Telescopes"} More...
 
void SetYScaleFactor (Double_t=0)
 
void SetYVariable (const char *v)
 
void SortIdentifiers ()
 
virtual void TestIdentification (TH2F *data, KVHashList &histos, KVNameValueList &histo_names)
 
void UnDraw ()
 
void UpdateLastSavedVersion ()
 update last saved version. mkae copy of current state of graph. More...
 
void WriteAsciiFile (const Char_t *filename)
 Open, write and close ascii file containing this grid. More...
 
virtual void WriteAsciiFile_WP (Int_t version=-1)
 
- Public Member Functions inherited from TCutG
 TCutG ()
 
 TCutG (const char *name, Int_t n, const Double_t *x, const Double_t *y)
 
 TCutG (const char *name, Int_t n, const Float_t *x, const Float_t *y)
 
 TCutG (const char *name, Int_t n=0)
 
 TCutG (const TCutG &cutg)
 
virtual ~TCutG ()
 
virtual Double_t Area () const
 
virtual void Center (Double_t &cx, Double_t &cy) const
 
TObjectGetObjectX () const
 
TObjectGetObjectY () const
 
const char * GetVarX () const
 
const char * GetVarY () const
 
virtual Double_t IntegralHist (TH2 *h, Option_t *option="") const
 
TCutGoperator= (const TCutG &)
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 
virtual void SetObjectX (TObject *obj)
 
virtual void SetObjectY (TObject *obj)
 
- Public Member Functions inherited from TGraph
 TGraph ()
 
 TGraph (const char *filename, const char *format="%lg %lg", Option_t *option="")
 
 TGraph (const TF1 *f, Option_t *option="")
 
 TGraph (const TGraph &gr)
 
 TGraph (const TH1 *h)
 
 TGraph (const TVectorD &vx, const TVectorD &vy)
 
 TGraph (const TVectorF &vx, const TVectorF &vy)
 
 TGraph (Int_t n)
 
 TGraph (Int_t n, const Double_t *x, const Double_t *y)
 
 TGraph (Int_t n, const Float_t *x, const Float_t *y)
 
 TGraph (Int_t n, const Int_t *x, const Int_t *y)
 
virtual ~TGraph ()
 
virtual void AddPoint (Double_t x, Double_t y)
 
virtual void Apply (TF1 *f)
 
virtual void Browse (TBrowser *b)
 
virtual Double_t Chisquare (TF1 *f1, Option_t *option="") const
 
virtual void ComputeRange (Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 
virtual void DrawGraph (Int_t n, const Double_t *x=nullptr, const Double_t *y=nullptr, Option_t *option="")
 
virtual void DrawGraph (Int_t n, const Float_t *x, const Float_t *y, Option_t *option="")
 
virtual void DrawGraph (Int_t n, const Int_t *x, const Int_t *y, Option_t *option="")
 
virtual Double_t Eval (Double_t x, TSpline *spline=nullptr, Option_t *option="") const
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 
virtual void Expand (Int_t newsize)
 
virtual void Expand (Int_t newsize, Int_t step)
 
virtual TObjectFindObject (const char *name) const
 
virtual TObjectFindObject (const TObject *obj) const
 
virtual Double_t GetCorrelationFactor () const
 
virtual Double_t GetCovariance () const
 
Bool_t GetEditable () const
 
virtual Double_t GetErrorX (Int_t bin) const
 
virtual Double_t GetErrorXhigh (Int_t bin) const
 
virtual Double_t GetErrorXlow (Int_t bin) const
 
virtual Double_t GetErrorY (Int_t bin) const
 
virtual Double_t GetErrorYhigh (Int_t bin) const
 
virtual Double_t GetErrorYlow (Int_t bin) const
 
virtual Double_tGetEX () const
 
virtual Double_tGetEXhigh () const
 
virtual Double_tGetEXhighd () const
 
virtual Double_tGetEXlow () const
 
virtual Double_tGetEXlowd () const
 
virtual Double_tGetEY () const
 
virtual Double_tGetEYhigh () const
 
virtual Double_tGetEYhighd () const
 
virtual Double_tGetEYlow () const
 
virtual Double_tGetEYlowd () const
 
TF1GetFunction (const char *name) const
 
TH1FGetHistogram () const
 
TListGetListOfFunctions () const
 
Double_t GetMaximum () const
 
Int_t GetMaxSize () const
 
virtual Double_t GetMean (Int_t axis=1) const
 
Double_t GetMinimum () const
 
Int_t GetN () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 
virtual Int_t GetPoint (Int_t i, Double_t &x, Double_t &y) const
 
virtual Double_t GetPointX (Int_t i) const
 
virtual Double_t GetPointY (Int_t i) const
 
virtual Double_t GetRMS (Int_t axis=1) const
 
Double_tGetX () const
 
TAxisGetXaxis () const
 
Double_tGetY () const
 
TAxisGetYaxis () const
 
virtual void InitExpo (Double_t xmin=0, Double_t xmax=0)
 
virtual void InitGaus (Double_t xmin=0, Double_t xmax=0)
 
virtual void InitPolynom (Double_t xmin=0, Double_t xmax=0)
 
virtual void InsertPointBefore (Int_t ipoint, Double_t x, Double_t y)
 
virtual Double_t Integral (Int_t first=0, Int_t last=-1) const
 
virtual Bool_t IsEditable () const
 
virtual Bool_t IsHighlight () const
 
virtual Int_t IsInside (Double_t x, Double_t y) const
 
virtual void LeastSquareFit (Int_t m, Double_t *a, Double_t xmin=0, Double_t xmax=0)
 
virtual void LeastSquareLinearFit (Int_t n, Double_t &a0, Double_t &a1, Int_t &ifail, Double_t xmin=0, Double_t xmax=0)
 
virtual Int_t Merge (TCollection *list)
 
virtual void MovePoints (Double_t dx, Double_t dy, Bool_t logx=kFALSE, Bool_t logy=kFALSE)
 
TGraphoperator= (const TGraph &)
 
virtual void Paint (Option_t *chopt="")
 
void PaintGraph (Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt)
 
void PaintGrapHist (Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt)
 
virtual void PaintStats (TF1 *fit)
 
virtual void RecursiveRemove (TObject *obj)
 
virtual void Set (Int_t n)
 
virtual void SetHighlight (Bool_t set=kTRUE)
 
virtual void SetHistogram (TH1F *h)
 
virtual void SetNameTitle (const char *name="", const char *title="")
 
virtual void SetPoint (Int_t i, Double_t x, Double_t y)
 
virtual void SetPointX (Int_t i, Double_t x)
 
virtual void SetPointY (Int_t i, Double_t y)
 
virtual void SetStats (Bool_t stats=kTRUE)
 
virtual void SetTitle (const char *title="")
 
virtual void Sort (Bool_t(*greater)(const TGraph *, Int_t, Int_t)=&TGraph::CompareX, Bool_t ascending=kTRUE, Int_t low=0, Int_t high=-1111)
 
virtual void UseCurrentStyle ()
 
void Zero (Int_t &k, Double_t AZ, Double_t BZ, Double_t E2, Double_t &X, Double_t &Y, Int_t maxiterations)
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 
virtual TObjectClone (const char *newname="") const
 
virtual Int_t Compare (const TObject *obj) const
 
virtual void FillBuffer (char *&buffer)
 
virtual const char * GetTitle () const
 
virtual ULong_t Hash () const
 
virtual Bool_t IsSortable () const
 
virtual void ls (Option_t *option="") const
 
TNamedoperator= (const TNamed &rhs)
 
virtual Int_t Sizeof () const
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 
virtual ~TObject ()
 
void AbstractMethod (const char *method) const
 
virtual void AppendPad (Option_t *option="")
 
ULong_t CheckedHash ()
 
virtual const char * ClassName () const
 
virtual void Error (const char *method, const char *msgfmt,...) const
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 
virtual Option_tGetDrawOption () const
 
virtual const char * GetIconName () const
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 
virtual Bool_t HandleTimer (TTimer *timer)
 
Bool_t HasInconsistentHash () const
 
virtual void Info (const char *method, const char *msgfmt,...) const
 
virtual Bool_t InheritsFrom (const char *classname) const
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 
virtual Bool_t IsFolder () const
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 
virtual Bool_t Notify ()
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 
void operator delete (void *ptr)
 
void operator delete[] (void *ptr)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 
virtual void Pop ()
 
virtual Int_t Read (const char *name)
 
void ResetBit (UInt_t f)
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 
virtual void SetUniqueID (UInt_t uid)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 
- Public Member Functions inherited from TAttLine
 TAttLine ()
 
 TAttLine (Color_t lcolor, Style_t lstyle, Width_t lwidth)
 
virtual ~TAttLine ()
 
void Copy (TAttLine &attline) const
 
Int_t DistancetoLine (Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
 
virtual Color_t GetLineColor () const
 
virtual Style_t GetLineStyle () const
 
virtual Width_t GetLineWidth () const
 
virtual void Modify ()
 
virtual void ResetAttLine (Option_t *option="")
 
virtual void SaveLineAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1)
 
virtual void SetLineColorAlpha (Color_t lcolor, Float_t lalpha)
 
- Public Member Functions inherited from TAttFill
 TAttFill ()
 
 TAttFill (Color_t fcolor, Style_t fstyle)
 
virtual ~TAttFill ()
 
void Copy (TAttFill &attfill) const
 
virtual Color_t GetFillColor () const
 
virtual Style_t GetFillStyle () const
 
virtual Bool_t IsTransparent () const
 
virtual void Modify ()
 
virtual void ResetAttFill (Option_t *option="")
 
virtual void SaveFillAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001)
 
virtual void SetFillColor (Color_t fcolor)
 
virtual void SetFillColorAlpha (Color_t fcolor, Float_t falpha)
 
virtual void SetFillStyle (Style_t fstyle)
 
- Public Member Functions inherited from TAttMarker
 TAttMarker ()
 
 TAttMarker (Color_t color, Style_t style, Size_t msize)
 
virtual ~TAttMarker ()
 
void Copy (TAttMarker &attmarker) const
 
virtual Color_t GetMarkerColor () const
 
virtual Size_t GetMarkerSize () const
 
virtual Style_t GetMarkerStyle () const
 
virtual void Modify ()
 
virtual void ResetAttMarker (Option_t *toption="")
 
virtual void SaveMarkerAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t sizdef=1)
 
virtual void SetMarkerColor (Color_t mcolor=1)
 
virtual void SetMarkerColorAlpha (Color_t mcolor, Float_t malpha)
 
virtual void SetMarkerSize (Size_t msize=1)
 
virtual void SetMarkerStyle (Style_t mstyle=1)
 

Protected Member Functions

virtual Bool_t FindFourEmbracingLines (Double_t x, Double_t y, const Char_t *position)
 
void init ()
 initialisation More...
 
void SetZmax (Int_t z)
 
- Protected Member Functions inherited from KVIDGrid
void init ()
 Initialisations, used by constructors. More...
 
void ReadIdentifierFromAsciiFile (TString &name, TString &type, TString &cl, std::ifstream &gridfile)
 
- Protected Member Functions inherited from KVIDGraph
virtual void BackwardsCompatibilityFix ()
 
void init ()
 
Bool_t IsOnlyZId () const
 
virtual KVIDentifierNew (const Char_t *)
 Create new object of class "id_class" which derives from KVIDentifier. More...
 
virtual void ReadFromAsciiFile (std::ifstream &gridfile)
 
void Scale (Double_t sx=-1, Double_t sy=-1)
 Called by SetX/YScaleFactor methods to rescale every point of every object in the grid. More...
 
void WriteParameterListOfIDTelescopes ()
 
virtual void WriteToAsciiFile (std::ofstream &gridfile)
 
- Protected Member Functions inherited from TGraph
virtual Double_t ** Allocate (Int_t newsize)
 
Double_t ** AllocateArrays (Int_t Narrays, Int_t arraySize)
 
virtual void CopyAndRelease (Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin)
 
virtual Bool_t CopyPoints (Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin)
 
Bool_t CtorAllocate ()
 
virtual Bool_t DoMerge (const TGraph *g)
 
Double_t ** ExpandAndCopy (Int_t size, Int_t iend)
 
virtual void FillZero (Int_t begin, Int_t end, Bool_t from_ctor=kTRUE)
 
Double_t ** ShrinkAndCopy (Int_t size, Int_t iend)
 
virtual void SwapPoints (Int_t pos1, Int_t pos2)
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 
void MakeZombie ()
 

Protected Attributes

Int_t Ainf
 
Int_t Ainfi
 
Int_t Aint
 mass of line used to identify particle More...
 
Int_t Asup
 
Int_t Asups
 
Double_t dinf
 
Double_t dinfi
 
Double_t dsup
 
Double_t dsups
 
KVIDLinefClosest
 closest line to last-identified point More...
 
Double_t fDistanceClosest
 distance from point to closest line More...
 
Int_t fICode
 code de retour More...
 
Int_t fIdxClosest
 index of closest line in main list fIdentifiers More...
 
KVIDLinefLinf
 
KVIDLinefLinfi
 
KVIDLinefLsup
 
KVIDLinefLsups
 
UShort_t fZMax
 largest Z of lines in grid More...
 
KVIDZALinefZMaxLine
 line with biggest Z and A More...
 
Int_t kinf
 
Int_t kinfi
 
Int_t ksup
 
Int_t ksups
 used by IdentZA and IdentZ More...
 
Double_t winf
 
Double_t winfi
 
Double_t wsup
 
Double_t wsups
 
Int_t Zinf
 
Int_t Zinfi
 
Int_t Zint
 Z of line used to identify particle. More...
 
Int_t Zsup
 
Int_t Zsups
 
- Protected Attributes inherited from KVIDGraph
KVListfCuts
 cuts used to define area in which identification is possible More...
 
TString fDyName
 dynamically generated name More...
 
KVListfIdentifiers
 list of identification objects More...
 
KVListfInfoZones
 contours/lines used to add info to particles (ex: punch-through) More...
 
KVIDGraphfLastSavedVersion
 copy of last save version of grid, used for 'undo' More...
 
Double_t fLastScaleX
 last applied scaling factor on X More...
 
Double_t fLastScaleY
 last applied scaling factor on Y More...
 
Int_t fMassFormula
 OPTION={GetMethod="GetMassFormula";SetMethod="SetMassFormula";Items=(0="Beta-stability", 1="VEDA mass", 2="EAL mass", 3="EAL residues", 99="2Z+1")} More...
 
Bool_t fOnlyZId
 set to kTRUE when only to be used to give Z identification of nuclei, no mass info More...
 
TVirtualPadfPad
 pad in which graph is drawn More...
 
KVNameValueListfPar
 parameters associated to grid More...
 
TString fPattern
 pattern of filenames used to write or read grid More...
 
KVNumberList fRunList
 runs for which grid is valid More...
 
TList fTelescopes
 ID telescopes for which grid is valid. More...
 
Axis_t fXmax
 min/max X coordinates of graph More...
 
Axis_t fXmin
 
Axis_t fYmax
 min/max Y coordinates of graph More...
 
Axis_t fYmin
 
- Protected Attributes inherited from TCutG
TObjectfObjectX
 
TObjectfObjectY
 
TString fVarX
 
TString fVarY
 
- Protected Attributes inherited from TGraph
TListfFunctions
 
TH1FfHistogram
 
Double_t fMaximum
 
Int_t fMaxSize
 
Double_t fMinimum
 
Int_t fNpoints
 
Double_tfX
 
Double_tfY
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Protected Attributes inherited from TObject
 kOnlyPrepStep
 
- Protected Attributes inherited from TAttLine
Color_t fLineColor
 
Style_t fLineStyle
 
Width_t fLineWidth
 
- Protected Attributes inherited from TAttFill
Color_t fFillColor
 
Style_t fFillStyle
 
- Protected Attributes inherited from TAttMarker
Color_t fMarkerColor
 
Size_t fMarkerSize
 
Style_t fMarkerStyle
 

Additional Inherited Members

- Static Public Member Functions inherited from KVIDGraph
static KVIDGraphAddGraphs (KVIDGraph *g1, Int_t id1_min, Int_t id1_max, KVIDGraph *g2, Int_t id2_min, Int_t id2_max)
 
static KVIDGraphMakeIDGraph (const Char_t *)
 
static void SetAutoAdd (Bool_t yes=kTRUE)
 
- Static Public Member Functions inherited from TGraph
static Bool_t CompareArg (const TGraph *gr, Int_t left, Int_t right)
 
static Bool_t CompareRadius (const TGraph *gr, Int_t left, Int_t right)
 
static Bool_t CompareX (const TGraph *gr, Int_t left, Int_t right)
 
static Bool_t CompareY (const TGraph *gr, Int_t left, Int_t right)
 
- Static Public Member Functions inherited from TObject
static Longptr_t GetDtorOnly ()
 
static Bool_t GetObjectStat ()
 
static void SetDtorOnly (void *obj)
 
static void SetObjectStat (Bool_t stat)
 
- Static Public Member Functions inherited from TAttMarker
static Width_t GetMarkerLineWidth (Style_t style)
 
static Style_t GetMarkerStyleBase (Style_t style)
 
- Public Attributes inherited from TGraph
 kClipFrame
 
 kIsHighlight
 
 kIsSortedX
 
 kNoStats
 
 kNotEditable
 
 kResetHisto
 
- Public Attributes inherited from TObject
 kBitMask
 
 kCanDelete
 
 kCannotPick
 
 kHasUUID
 
 kInconsistent
 
 kInvalidObject
 
 kIsOnHeap
 
 kIsReferenced
 
 kMustCleanup
 
 kNoContextMenu
 
 kNotDeleted
 
 kObjInCanvas
 
 kOverwrite
 
 kSingleKey
 
 kWriteDelete
 
 kZombie
 
- Static Protected Member Functions inherited from TGraph
static void SwapValues (Double_t *arr, Int_t pos1, Int_t pos2)
 
- Static Protected Attributes inherited from KVIDGraph
static Bool_t fAutoAddGridManager = kTRUE
 if =kTRUE, grids are automatically added to ID grid manager on creation (default) More...
 

#include <KVIDZAGrid.h>

Inheritance diagram for KVIDZAGrid:
Inheritance graph
[legend]

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kICODE0 
kICODE1 
kICODE2 
kICODE3 
kICODE4 
kICODE5 
kICODE6 
kICODE7 
kICODE8 
kICODE9 
kICODE10 

Definition at line 100 of file KVIDZAGrid.h.

Constructor & Destructor Documentation

◆ KVIDZAGrid() [1/2]

KVIDZAGrid::KVIDZAGrid ( )

default ctor.

Definition at line 33 of file KVIDZAGrid.cpp.

◆ KVIDZAGrid() [2/2]

KVIDZAGrid::KVIDZAGrid ( const KVIDZAGrid grid)

Copy constructor.

Definition at line 54 of file KVIDZAGrid.cpp.

◆ ~ KVIDZAGrid()

virtual KVIDZAGrid::~ KVIDZAGrid ( )
virtual

Member Function Documentation

◆ AddParameter()

void KVIDZAGrid::AddParameter ( char *  Name,
char *  Value 
)
inline

Definition at line 132 of file KVIDZAGrid.h.

◆ CalculateLineWidths()

void KVIDZAGrid::CalculateLineWidths ( )
virtual

Calculate natural "width" of each line in the grid. The lines in the grid are first sorted so that they are in order of ascending 'Y' i.e. first line is 1H, last line is the heaviest isotope (highest line).

Then, for a given line :

**** if the grid is to be used for A & Z identification (default)**** :

  • if the next line (above) has the same Z, we use the separation between these two lines corresponding to different isotopes of the same element
  • if the next line (above) has a different Z, but the line before (below) has the same Z, we use the separation between the line below and this one
  • if neither adjacent line has the same Z, the width is set to 16000 (huge).

**** if the grid is to be used for Z identification (fOnlyZid=kTRUE)**** :

  • we use the separation between each pair of lines

In each case we find D_L (the separation between the two lines at their extreme left) and D_R (their separation at extreme right). The width of the line is then calculated from these two using the method KVIDZALine::SetAsymWidth (which may be overridden in child classes). Info("CalculateLineWidths", "For grid %s (%s vs. %s, runs %s).", GetName(), GetVarY(), GetVarX(), GetRunList());

Reimplemented from KVIDGrid.

Definition at line 294 of file KVIDZAGrid.cpp.

◆ Copy()

void KVIDZAGrid::Copy ( TObject obj) const
virtual

Copy this to 'obj'.

Reimplemented from KVIDGraph.

Reimplemented in KVIDZAFromZGrid.

Definition at line 71 of file KVIDZAGrid.cpp.

◆ DefaultIDLineClass()

virtual TClass* KVIDZAGrid::DefaultIDLineClass ( )
inlinevirtual

Reimplemented from KVIDGrid.

Reimplemented in KVIDGCsI.

Definition at line 153 of file KVIDZAGrid.h.

◆ DrawLinesWithWidth()

void KVIDZAGrid::DrawLinesWithWidth ( )

This method displays the grid as in KVIDGrid::Draw, but the natural line widths are shown as error bars

Definition at line 466 of file KVIDZAGrid.cpp.

◆ FindFourEmbracingLines()

Bool_t KVIDZAGrid::FindFourEmbracingLines ( Double_t  x,
Double_t  y,
const Char_t position 
)
protectedvirtual

This method will locate (at most) four lines close to the point (x,y), the point must lie within the endpoints (in X) of each line (the lines "embrace" the point). Returns kTRUE if at least one line is found. Identification can then be carried out with either IdentZA or IdentZ (see Identify). Returns kFALSE if no lines are found (not even a closest embracing line).

We look for two lines above the point and two lines below the point, as in one of the following two cases:

---------------------— ksups ------------------—

closest —> ---------------------— ksup ------------------— X

X ---------------------— kinf ------------------— <— closest

---------------------— kinfi ------------------—

First we find the closest embracing line to the point, using FindNearestEmbracingIDLine. Then we search above and below for the other 'embracing' lines. Note that no condition is applied regarding the distances to these lines: the lines must have been sorted in order of increasing ordinate before hand in Initialize(), we simply use the order of lines in the list of identifiers. The Z, A, width and distance to each of these lines are stored in the variables Zsups, Asups, wsups, dsups etc. etc. to be used by IdentZA or IdentZ.

Definition at line 525 of file KVIDZAGrid.cpp.

◆ GetClosestLine()

KVIDLine* KVIDZAGrid::GetClosestLine ( ) const
inline

Definition at line 167 of file KVIDZAGrid.h.

◆ GetDistanceClosestLine()

Double_t KVIDZAGrid::GetDistanceClosestLine ( ) const
inline

Definition at line 171 of file KVIDZAGrid.h.

◆ GetIndexClosest()

UChar_t KVIDZAGrid::GetIndexClosest ( ) const
inline

Definition at line 175 of file KVIDZAGrid.h.

◆ GetQualityCode()

Int_t KVIDZAGrid::GetQualityCode ( ) const
inlinevirtual

Return quality code for previously-attempted identification Meanings of code values are given in class description

Reimplemented from KVIDGraph.

Definition at line 158 of file KVIDZAGrid.h.

◆ GetZALine()

KVIDZALine * KVIDZAGrid::GetZALine ( Int_t  z,
Int_t  a,
Int_t index 
) const
virtual

Returns ID line corresponding to nucleus (Z,A) and its index in fIDLines. First we use GetLine(z) to find a line with the right Z (in principal there are several in the grid), then search for the correct isotope among these.

Reimplemented in KVIDGCsI.

Definition at line 219 of file KVIDZAGrid.cpp.

◆ GetZLine()

KVIDZALine * KVIDZAGrid::GetZLine ( Int_t  z,
Int_t index 
) const
virtual

Returns ID line for which GetZ() returns 'z'. index=index of line found in fIDLines list (-1 if not found). To increase speed, this is done by dichotomy, rather than by looping over all the lines in the list.

Reimplemented in KVIDGCsI.

Definition at line 158 of file KVIDZAGrid.cpp.

◆ GetZmax()

Int_t KVIDZAGrid::GetZmax ( ) const
inline

Definition at line 141 of file KVIDZAGrid.h.

◆ GetZmaxLine()

KVIDZALine* KVIDZAGrid::GetZmaxLine ( ) const
inline

Definition at line 146 of file KVIDZAGrid.h.

◆ Identify()

void KVIDZAGrid::Identify ( Double_t  x,
Double_t  y,
KVIdentificationResult idr 
) const
virtual

Fill the KVIdentificationResult object with the results of identification for point (x,y) corresponding to some physically measured quantities related to a reconstructed nucleus.

By default (OnlyZId()=kFALSE) this means identifying the Z & A of the nucleus. In this case, we consider that the nucleus' Z & A have been correctly measured if the 'quality code' returned by IdentZA() is < kICODE4: we set idr->Zident and idr->Aident to kTRUE if fICode<kICODE4

If OnlyZId()=kTRUE, only the Z of the nucleus is established. In this case, we consider that the nucleus' Z has been correctly measured if the 'quality code' returned by IdentZ() is < kICODE4, thus: we set idr->Zident to kTRUE if fICode<kICODE4 The mass idr->A is set to the mass of the nearest line.

Real & integer masses for isotopically identified particles

For points lying between two lines of same Z and different A (fICode<kIDCode4) the "real" mass is given by interpolation between the two masses. The integer mass is the A of the line closest to the point. This means that the integer A is not always = nint("real" A), as for example if a grid is drawn with lines for 7Be & 9Be but not 8Be (usual case), then particles between the two lines can have "real" masses between 7.5 and 8.5, but their integer A will be =7 or =9, never 8.

Implements KVIDGraph.

Reimplemented in KVIDZAFromZGrid, KVIDGCsI, and KVIDGChIoSi.

Definition at line 1373 of file KVIDZAGrid.cpp.

◆ IdentZ()

void KVIDZAGrid::IdentZ ( Double_t  x,
Double_t  y,
Double_t Z 
)
virtual

Finds Z & 'real Z' for point (x,y) once closest lines to point have been found (see GetNearestIDLine). This is is based on the algorithm developed by L. Tassan-Got in IdnCsOr, even the same variable names and comments have been used (as much as possible).

Definition at line 1082 of file KVIDZAGrid.cpp.

◆ IdentZA()

void KVIDZAGrid::IdentZA ( Double_t  x,
Double_t  y,
Int_t Z,
Double_t A 
)
virtual

Finds Z, A and 'real A' for point (x,y) once closest lines to point have been found by calling method FindFourEmbracingLines beforehand. This is a line-for-line copy of the latter part of IdnCsOr, even the same variable names and comments have been used (as much as possible).

Reimplemented in KVIDGCsI.

Definition at line 649 of file KVIDZAGrid.cpp.

◆ init()

void KVIDZAGrid::init ( void  )
protected

initialisation

Definition at line 87 of file KVIDZAGrid.cpp.

◆ Initialize()

void KVIDZAGrid::Initialize ( void  )
virtual

General initialisation method for identification grid. This method MUST be called once before using the grid for identifications. The ID lines are sorted. The natural line widths of all ID lines are calculated. The line with the largest Z (Zmax line) is found.

Reimplemented from KVIDGrid.

Reimplemented in KVIDZAFromZGrid, KVIDGCsI, and KVIDGChIoSi.

Definition at line 1513 of file KVIDZAGrid.cpp.

◆ MakeSubsetGraph() [1/2]

KVIDGraph * KVIDZAGrid::MakeSubsetGraph ( Int_t  Zmin,
Int_t  Zmax,
const Char_t graph_class = "" 
)

virtual void MakeEDeltaEZGrid(Int_t Zmin, Int_t Zmax, Int_t npoints=20, Double_t gamma = 2);//*MENU*

Create a new graph/grid using the subset of lines of this grid with Zmin <= Z <= Zmax. By default the new graph/grid will be of the same class as this one, unless graph_class !="", in which case it must contain the name of a class which derives from KVIDGraph. A clone of each line will be made and added to the new graph, which will have the same name and be associated with the same ID telescopes as this one.

Definition at line 1722 of file KVIDZAGrid.cpp.

◆ MakeSubsetGraph() [2/2]

KVIDGraph * KVIDZAGrid::MakeSubsetGraph ( TList lines,
TClass graph_class = 0 
)

Create a new graph/grid using the subset of lines of this grid contained in TList 'lines'. By default the new graph/grid will be of the same class as this one, unless graph_class !=0, in which case it must contain the address of a TClass object representing a class which derives from KVIDGraph. A clone of each line will be made and added to the new graph, which will have the same name and be associated with the same ID telescopes as this one.

Definition at line 1677 of file KVIDZAGrid.cpp.

◆ ReCheckQuality()

void KVIDZAGrid::ReCheckQuality ( Int_t Z,
Double_t A 
)

Recheck the identification quality using the 'manual' width set for each Z in the parameter list

If abs(Aint-Areal)> ManualWidth + ManualWidthScaling*sqrt(Z), kIDCode5 is returned. To be activated, a parameter "ManualWidth" should be added to the grid's parameter list.

Acceptable values for FAZIA are :

  • ManualWidth : 0.3
  • ManualWidthScaling : 0.05

Example of use :

grid.ReadAsciiFile("my_grid_file.dat");
grid.SetManualWidth(0.3,0.05);
void ReadAsciiFile(const Char_t *filename)
Definition: KVIDGraph.cpp:794
Identification grid with lines corresponding to different nuclear isotopes (KVIDZALine)
Definition: KVIDZAGrid.h:65
void SetManualWidth(Double_t manual_width=.3, Double_t manual_width_scaling=0.05)

Definition at line 1028 of file KVIDZAGrid.cpp.

◆ RemoveLine()

void KVIDZAGrid::RemoveLine ( Int_t  Z,
Int_t  A = -1 
)

Remove and destroy identifier.

Definition at line 108 of file KVIDZAGrid.cpp.

◆ RemoveZLines()

void KVIDZAGrid::RemoveZLines ( const Char_t ZList)

Remove and destroy identifiers.

Definition at line 138 of file KVIDZAGrid.cpp.

◆ SetManualWidth()

void KVIDZAGrid::SetManualWidth ( Double_t  manual_width = .3,
Double_t  manual_width_scaling = 0.05 
)

Definition at line 1068 of file KVIDZAGrid.cpp.

◆ SetVarXVarY()

void KVIDZAGrid::SetVarXVarY ( char *  VarX,
char *  VarY 
)
inline

Definition at line 127 of file KVIDZAGrid.h.

◆ SetZmax()

void KVIDZAGrid::SetZmax ( Int_t  z)
inlineprotected

Definition at line 72 of file KVIDZAGrid.h.

Member Data Documentation

◆ Ainf

Int_t KVIDZAGrid::Ainf
protected

Definition at line 90 of file KVIDZAGrid.h.

◆ Ainfi

Int_t KVIDZAGrid::Ainfi
protected

Definition at line 90 of file KVIDZAGrid.h.

◆ Aint

Int_t KVIDZAGrid::Aint
protected

mass of line used to identify particle

Definition at line 92 of file KVIDZAGrid.h.

◆ Asup

Int_t KVIDZAGrid::Asup
protected

Definition at line 90 of file KVIDZAGrid.h.

◆ Asups

Int_t KVIDZAGrid::Asups
protected

Definition at line 90 of file KVIDZAGrid.h.

◆ dinf

Double_t KVIDZAGrid::dinf
protected

Definition at line 87 of file KVIDZAGrid.h.

◆ dinfi

Double_t KVIDZAGrid::dinfi
protected

Definition at line 87 of file KVIDZAGrid.h.

◆ dsup

Double_t KVIDZAGrid::dsup
protected

Definition at line 87 of file KVIDZAGrid.h.

◆ dsups

Double_t KVIDZAGrid::dsups
protected

Definition at line 87 of file KVIDZAGrid.h.

◆ fClosest

KVIDLine* KVIDZAGrid::fClosest
protected

closest line to last-identified point

Definition at line 77 of file KVIDZAGrid.h.

◆ fDistanceClosest

Double_t KVIDZAGrid::fDistanceClosest
protected

distance from point to closest line

Definition at line 82 of file KVIDZAGrid.h.

◆ fICode

Int_t KVIDZAGrid::fICode
protected

code de retour

Definition at line 84 of file KVIDZAGrid.h.

◆ fIdxClosest

Int_t KVIDZAGrid::fIdxClosest
protected

index of closest line in main list fIdentifiers

Definition at line 83 of file KVIDZAGrid.h.

◆ fLinf

KVIDLine* KVIDZAGrid::fLinf
protected

Definition at line 80 of file KVIDZAGrid.h.

◆ fLinfi

KVIDLine* KVIDZAGrid::fLinfi
protected

Definition at line 81 of file KVIDZAGrid.h.

◆ fLsup

KVIDLine* KVIDZAGrid::fLsup
protected

Definition at line 79 of file KVIDZAGrid.h.

◆ fLsups

KVIDLine* KVIDZAGrid::fLsups
protected

Definition at line 78 of file KVIDZAGrid.h.

◆ fZMax

UShort_t KVIDZAGrid::fZMax
protected

largest Z of lines in grid

Definition at line 69 of file KVIDZAGrid.h.

◆ fZMaxLine

KVIDZALine* KVIDZAGrid::fZMaxLine
protected

line with biggest Z and A

Definition at line 70 of file KVIDZAGrid.h.

◆ kinf

Int_t KVIDZAGrid::kinf
protected

Definition at line 86 of file KVIDZAGrid.h.

◆ kinfi

Int_t KVIDZAGrid::kinfi
protected

Definition at line 86 of file KVIDZAGrid.h.

◆ ksup

Int_t KVIDZAGrid::ksup
protected

Definition at line 86 of file KVIDZAGrid.h.

◆ ksups

Int_t KVIDZAGrid::ksups
protected

used by IdentZA and IdentZ

Definition at line 86 of file KVIDZAGrid.h.

◆ winf

Double_t KVIDZAGrid::winf
protected

Definition at line 88 of file KVIDZAGrid.h.

◆ winfi

Double_t KVIDZAGrid::winfi
protected

Definition at line 88 of file KVIDZAGrid.h.

◆ wsup

Double_t KVIDZAGrid::wsup
protected

Definition at line 88 of file KVIDZAGrid.h.

◆ wsups

Double_t KVIDZAGrid::wsups
protected

Definition at line 88 of file KVIDZAGrid.h.

◆ Zinf

Int_t KVIDZAGrid::Zinf
protected

Definition at line 89 of file KVIDZAGrid.h.

◆ Zinfi

Int_t KVIDZAGrid::Zinfi
protected

Definition at line 89 of file KVIDZAGrid.h.

◆ Zint

Int_t KVIDZAGrid::Zint
protected

Z of line used to identify particle.

Definition at line 93 of file KVIDZAGrid.h.

◆ Zsup

Int_t KVIDZAGrid::Zsup
protected

Definition at line 89 of file KVIDZAGrid.h.

◆ Zsups

Int_t KVIDZAGrid::Zsups
protected

Definition at line 89 of file KVIDZAGrid.h.


The documentation for this class was generated from the following files: