KaliVeda
Toolkit for HIC analysis
KVIDGCsI.h
1 /***************************************************************************
2  KVIDGCsI.h - description
3  -------------------
4  begin : Nov 24 2004
5  copyright : (C) 2004 by J.D. Frankland
6  email : frankland@ganil.fr
7 
8 $Id: KVIDGCsI.h,v 1.18 2009/04/06 15:09:29 franklan Exp $
9 ***************************************************************************/
10 
11 #ifndef KVIDGCsI_H
12 #define KVIDGCsI_H
13 
14 #include "KVIDZAGrid.h"
15 
42 class KVIDGCsI: public KVIDZAGrid {
43 
46 
47  private:
48  Bool_t is_a_gamma(Double_t x, Double_t y) const;
49 protected:
51  const Char_t* position, Int_t& idx_min,
52  Int_t& idx_max);
53  void BackwardsCompatibilityFix() override;
54 
55 public:
56 
57  KVIDGCsI();
58  KVIDGCsI(const KVIDGCsI&);
59  virtual ~ KVIDGCsI();
60 
61  inline KVIDLine* GetGammaLine() const
62  {
63  return GammaLine;
64  }
65  inline KVIDLine* GetIMFLine() const
66  {
67  return IMFLine;
68  }
69 
70 
71  virtual void Identify(Double_t x, Double_t y,
72  KVIdentificationResult*) const override;
73 
74  Bool_t IsIdentifiable(Double_t x, Double_t y, TString* = nullptr) const override
75  {
77  return kTRUE;
78  }
79 
80  KVIDZALine* GetZALine(Int_t z, Int_t a, Int_t&) const override;
81  KVIDZALine* GetZLine(Int_t z, Int_t&) const override;
82 
83  void IdentZA(Double_t x, Double_t y, Int_t& Z, Double_t& A) override;
84  void Initialize() override;
86  {
87  return TClass::GetClass("KVIDCsIRLLine");
88  }
89 
90  ClassDefOverride(KVIDGCsI, 2) //CsI Rapide-Lente grid & identification
91 };
92 
93 #endif
int Int_t
bool Bool_t
char Char_t
double Double_t
constexpr Bool_t kTRUE
#define ClassDefOverride(name, id)
Identification grids for CsI R-L (fast-slow) matrices.
Definition: KVIDGCsI.h:42
KVIDLine * GammaLine
Definition: KVIDGCsI.h:45
virtual void Identify(Double_t x, Double_t y, KVIdentificationResult *) const override
Definition: KVIDGCsI.cpp:97
KVIDZALine * GetZALine(Int_t z, Int_t a, Int_t &) const override
Definition: KVIDGCsI.cpp:222
KVIDLine * GetGammaLine() const
Definition: KVIDGCsI.h:61
TClass * DefaultIDLineClass() override
Definition: KVIDGCsI.h:85
Bool_t IsIdentifiable(Double_t x, Double_t y, TString *=nullptr) const override
Definition: KVIDGCsI.h:74
Bool_t is_a_gamma(Double_t x, Double_t y) const
Definition: KVIDGCsI.cpp:53
KVIDLine * IMFLine
Definition: KVIDGCsI.h:44
KVIDLine * GetNearestIDLine(Double_t x, Double_t y, const Char_t *position, Int_t &idx_min, Int_t &idx_max)
KVIDZALine * GetZLine(Int_t z, Int_t &) const override
Definition: KVIDGCsI.cpp:194
virtual ~ KVIDGCsI()
void Initialize() override
Definition: KVIDGCsI.cpp:636
void BackwardsCompatibilityFix() override
Definition: KVIDGCsI.cpp:679
KVIDLine * GetIMFLine() const
Definition: KVIDGCsI.h:65
KVIDGCsI()
Default constructor.
Definition: KVIDGCsI.cpp:12
void IdentZA(Double_t x, Double_t y, Int_t &Z, Double_t &A) override
Definition: KVIDGCsI.cpp:251
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
Full result of one attempted particle identification.
static TClass * GetClass(Bool_t load=kTRUE, Bool_t silent=kFALSE)