KaliVeda
Toolkit for HIC analysis
KVIDZALine.h
1 /***************************************************************************
2  KVIDZALine.h - description
3  -------------------
4  begin : Nov 10 2004
5  copyright : (C) 2004 by J.D. Frankland
6  email : frankland@ganil.fr
7 
8 $Id: KVIDZALine.h,v 1.6 2009/03/13 13:04:11 franklan Exp $
9 ***************************************************************************/
10 
11 #ifndef KVIDZALine_H
12 #define KVIDZALine_H
13 
14 #include "KVIDLine.h"
15 #include "KVNucleus.h"
16 #include "TGraphErrors.h"
17 
33 class KVIDZALine: public KVIDLine {
34 
35  friend class KVIDZAGrid;
36 
37 protected:
38 
41 
42  virtual void SetAsymWidth(Double_t d_l, Double_t d_r);
43 
46  void SetName(const char* name) override
47  {
49  };
50  void WriteAsciiFile_extras(std::ofstream&, const Char_t* name_prefix = "") override;
51  void ReadAsciiFile_extras(std::ifstream&) override;
52 
53 public:
54 
55  KVIDZALine();
56  KVIDZALine(const KVIDZALine&);
57 
58  virtual ~ KVIDZALine();
59  void Copy(TObject& obj) const override;
60 
62  {
63  return fWidth;
64  };
66  {
67  fWidth = w;
68  };
69 
71 
72  inline Int_t Compare(const TObject*) const override;
73 
74  void Print(Option_t* opt = "") const override;
75 
76  void ReadAsciiFile_KVIDZLine(std::ifstream&);
77 
79 
80  ClassDefOverride(KVIDZALine, 2)//Base class for identification ridge lines corresponding to different nuclear species
81 };
82 
84 
85 inline Int_t KVIDZALine::Compare(const TObject* obj) const
86 {
90 
92 
93  int zline1 = GetZ();
94  int zline2 = ((KVIDZALine*)obj)->GetZ();
95  if (zline1 > zline2)
96  return 1;
97  if (zline1 < zline2)
98  return -1;
100  int aline1 = GetA();
101  int aline2 = ((KVIDZALine*)obj)->GetA();
102  if (aline1 > aline2)
103  return 1;
104  if (aline1 < aline2)
105  return -1;
106  return 0;
107 }
108 
109 class KVIDZLine : public KVIDZALine {
110 
111 public:
112  KVIDZLine();
113 
114  ClassDefOverride(KVIDZLine, 3) //FOR BACKWARDS COMPATIBILITY ONLY. OBSOLETE.
115 };
116 
117 #endif
int Int_t
char Char_t
double Double_t
const char Option_t
#define ClassDefOverride(name, id)
winID w
char name[80]
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
Base class for identification ridge lines corresponding to different nuclear species.
Definition: KVIDZALine.h:33
void SetName(const char *name) override
Definition: KVIDZALine.h:46
void Copy(TObject &obj) const override
copy 'this' to 'obj'
Definition: KVIDZALine.cpp:61
void ReadAsciiFile_KVIDZLine(std::ifstream &)
Definition: KVIDZALine.cpp:126
virtual void SetAsymWidth(Double_t d_l, Double_t d_r)
Definition: KVIDZALine.cpp:214
void Print(Option_t *opt="") const override
Definition: KVIDZALine.cpp:159
TGraphErrors * GetLineWithWidth()
Definition: KVIDZALine.cpp:179
void SetWidth(Double_t w)
Definition: KVIDZALine.h:65
Int_t Compare(const TObject *) const override
Definition: KVIDZALine.h:85
void ReadAsciiFile_extras(std::ifstream &) override
Read Z & A of line.
Definition: KVIDZALine.cpp:99
TGraphErrors * fLineWithWidth
used to display width of line
Definition: KVIDZALine.h:40
virtual ~ KVIDZALine()
Double_t GetWidth() const
Definition: KVIDZALine.h:61
Double_t fWidth
the "width" of the line
Definition: KVIDZALine.h:39
void WriteAsciiFile_extras(std::ofstream &, const Char_t *name_prefix="") override
Write Z & A of line.
Definition: KVIDZALine.cpp:84
KVIDZLine()
This class is for backwards compatibility only.
Definition: KVIDZALine.cpp:272
virtual Int_t GetA() const
Definition: KVIDentifier.h:75
virtual Int_t GetZ() const
Definition: KVIDentifier.h:79
void SetName(const char *name="") override