CbmRoot
Loading...
Searching...
No Matches
CbmRichRing.h
Go to the documentation of this file.
1/* Copyright (C) 2004-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Florian Uhlig, Denis Bertini [committer], Semen Lebedev */
4
5#ifndef CBM_RICH_RING_H
6#define CBM_RICH_RING_H
7
8#include <Rtypes.h> // for ClassDef
9#include <TObject.h> // for TObject
10
11#include <cstdint>
12#include <vector> // for vector
13
14class CbmRichRing : public TObject {
15
16public:
19
25 CbmRichRing(float x, float y, float r);
26
28 virtual ~CbmRichRing();
29
31 void AddHit(uint32_t pHit) { fHitCollection.push_back(pHit); }
35 bool RemoveHit(uint32_t hitId);
37 int32_t GetNofHits() const { return fHitCollection.size(); }
39 uint32_t GetHit(int32_t i) const { return fHitCollection[i]; }
41 virtual void Print(Option_t* opt = "") const;
42
43
45 void SetAPar(double a) { fAPar = a; }
46 void SetBPar(double b) { fBPar = b; }
47 void SetCPar(double c) { fCPar = c; }
48 void SetDPar(double d) { fDPar = d; }
49 void SetEPar(double e) { fEPar = e; }
50 void SetFPar(double f) { fFPar = f; }
51
52 void SetCenterX(float x) { fCenterX = x; }
53 void SetCenterY(float y) { fCenterY = y; }
54 void SetRadius(float r) { fRadius = r; }
55 void SetAaxis(double a) { fAaxis = a; }
56 void SetBaxis(double b) { fBaxis = b; }
57 void SetAaxisCor(double a) { fAaxisCor = a; }
58 void SetBaxisCor(double b) { fBaxisCor = b; }
59 void SetXYABPhi(double x, double y, double a, double b, double phi);
60 void SetPhi(double phi) { fPhi = phi; }
61 void SetChi2(double chi2) { fChi2 = chi2; }
62 void SetRecFlag(int32_t recflag) { fRecFlag = recflag; }
63 void SetAngle(double angle) { fAngle = angle; }
64 void SetNofHitsOnRing(int32_t onring) { fNofHitsOnRing = onring; }
66 void SetSelectionNN(double selectionNN) { fSelectionNN = selectionNN; }
67 void SetTime(double time) { fTime = time; }
68
70 double GetAPar() const { return fAPar; }
71 double GetBPar() const { return fBPar; }
72 double GetCPar() const { return fCPar; }
73 double GetDPar() const { return fDPar; }
74 double GetEPar() const { return fEPar; }
75 double GetFPar() const { return fFPar; }
76
77 float GetCenterX() const { return fCenterX; }
78 float GetCenterY() const { return fCenterY; }
79 float GetRadius() const { return fRadius; }
80 double GetAaxis() const { return fAaxis; }
81 double GetBaxis() const { return fBaxis; }
82 double GetAaxisCor() const { return fAaxisCor; }
83 double GetBaxisCor() const { return fBaxisCor; }
84 double GetPhi() const { return fPhi; }
85 double GetXF1() const;
86 double GetYF1() const;
87 double GetXF2() const;
88 double GetYF2() const;
89
90
91 double GetSelectionNN() const { return fSelectionNN; }
92 double GetChi2() const { return fChi2; }
93 double GetNDF() const { return GetNofHits() - 5; }
94 float GetRadialPosition() const;
95 double GetAngle() const { return fAngle; }
96 int32_t GetNofHitsOnRing() const { return fNofHitsOnRing; }
97 double GetRadialAngle() const;
98 int32_t GetRecFlag() const { return fRecFlag; }
99 double GetTime() const { return fTime; }
100
101private:
102 std::vector<uint32_t> fHitCollection;
104protected:
105 double fAPar; // Axx+Bxy+Cyy+Dx+Ey+F
106 double fBPar;
107 double fCPar;
108 double fDPar;
109 double fEPar;
110 double fFPar;
111
112 float fCenterX;
113 float fCenterY;
114 float fRadius;
115
116 double fAaxis; // major axis of ellipse
117 double fBaxis; // minor axes of the ellipse
118 double fAaxisCor; // major axis of ellipse after correction
119 double fBaxisCor; // minor axes of the ellipse after correction
120
121 double fPhi; // rotation angle
122
123 double fChi2;
124 double fAngle;
126
127 double fSelectionNN; // value for selection high quality rings
128
129 int32_t fRecFlag;
130
131 double fTime;
132
133 ClassDef(CbmRichRing, 2)
134};
135
136#endif // CBM_RICH_RING_H
double GetCPar() const
Definition CbmRichRing.h:72
void SetEPar(double e)
Definition CbmRichRing.h:49
void SetChi2(double chi2)
Definition CbmRichRing.h:61
double GetRadialAngle() const
uint32_t GetHit(int32_t i) const
Definition CbmRichRing.h:39
void SetAaxis(double a)
Definition CbmRichRing.h:55
double fSelectionNN
double GetAaxisCor() const
Definition CbmRichRing.h:82
double fBaxis
float GetRadius() const
Definition CbmRichRing.h:79
double GetXF2() const
double GetBPar() const
Definition CbmRichRing.h:71
void SetCPar(double c)
Definition CbmRichRing.h:47
double GetTime() const
Definition CbmRichRing.h:99
double GetAngle() const
Definition CbmRichRing.h:95
double fBaxisCor
double GetYF1() const
double fAaxis
int32_t fNofHitsOnRing
double GetBaxisCor() const
Definition CbmRichRing.h:83
double GetAaxis() const
Definition CbmRichRing.h:80
double fAaxisCor
void AddHit(uint32_t pHit)
Definition CbmRichRing.h:31
void SetBPar(double b)
Definition CbmRichRing.h:46
double GetYF2() const
void SetAaxisCor(double a)
Definition CbmRichRing.h:57
int32_t GetNofHits() const
Definition CbmRichRing.h:37
void SetTime(double time)
Definition CbmRichRing.h:67
int32_t fRecFlag
virtual void Print(Option_t *opt="") const
double GetAPar() const
Definition CbmRichRing.h:70
int32_t GetRecFlag() const
Definition CbmRichRing.h:98
void SetRecFlag(int32_t recflag)
Definition CbmRichRing.h:62
void SetFPar(double f)
Definition CbmRichRing.h:50
float GetCenterX() const
Definition CbmRichRing.h:77
double fAngle
bool RemoveHit(uint32_t hitId)
void SetNofHitsOnRing(int32_t onring)
Definition CbmRichRing.h:64
void SetPhi(double phi)
Definition CbmRichRing.h:60
double GetXF1() const
void SetDPar(double d)
Definition CbmRichRing.h:48
void SetCenterY(float y)
Definition CbmRichRing.h:53
double GetEPar() const
Definition CbmRichRing.h:74
void SetAPar(double a)
Definition CbmRichRing.h:45
double GetChi2() const
Definition CbmRichRing.h:92
int32_t GetNofHitsOnRing() const
Definition CbmRichRing.h:96
std::vector< uint32_t > fHitCollection
virtual ~CbmRichRing()
double GetPhi() const
Definition CbmRichRing.h:84
double GetFPar() const
Definition CbmRichRing.h:75
double GetNDF() const
Definition CbmRichRing.h:93
float GetCenterY() const
Definition CbmRichRing.h:78
void SetCenterX(float x)
Definition CbmRichRing.h:52
float GetRadialPosition() const
void SetXYABPhi(double x, double y, double a, double b, double phi)
void SetRadius(float r)
Definition CbmRichRing.h:54
void SetAngle(double angle)
Definition CbmRichRing.h:63
void SetBaxis(double b)
Definition CbmRichRing.h:56
void SetBaxisCor(double b)
Definition CbmRichRing.h:58
double GetSelectionNN() const
Definition CbmRichRing.h:91
void SetSelectionNN(double selectionNN)
Definition CbmRichRing.h:66
double GetBaxis() const
Definition CbmRichRing.h:81
double GetDPar() const
Definition CbmRichRing.h:73