ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtProtoQuadrant.cxx
Go to the documentation of this file.
1 #include "AtProtoQuadrant.h"
2 
3 #include <Rtypes.h>
4 #include <TH1.h>
5 
6 #include <algorithm>
7 #include <cstddef>
8 #include <utility> // for move
9 
11 
12 AtProtoQuadrant::AtProtoQuadrant(Int_t QuadrantID) : AtProtoQuadrant({}, QuadrantID) {}
13 
14 AtProtoQuadrant::AtProtoQuadrant(std::vector<AtHit> HitArray, Int_t QuadrantID)
15  : AtProtoQuadrant(std::move(HitArray), QuadrantID, 0.0)
16 {
17 }
18 
19 AtProtoQuadrant::AtProtoQuadrant(std::vector<AtHit> HitArray, Int_t QuadrantID, Double_t PhiQ)
20  : fQuadrantID(QuadrantID), fHitArrayQ(std::move(HitArray)), fPhiQ(PhiQ)
21 {
22 }
23 
24 void AtProtoQuadrant::SetEventID(Int_t evtid)
25 {
26  fEventID = evtid;
27 }
29 {
30  fHitArrayQ.push_back(*hit);
31 }
32 void AtProtoQuadrant::SetHitArray(std::vector<AtHit> *hitArray)
33 {
34  fHitArrayQ = *hitArray;
35 }
36 void AtProtoQuadrant::SetQuadrantID(Int_t QuadrantID)
37 {
38  fQuadrantID = QuadrantID;
39 }
40 void AtProtoQuadrant::SetPhiQ(Double_t PhiQ)
41 {
42  fPhiQ = PhiQ;
43 }
45 {
46  fPhiDistr = *PhiD;
47 }
48 void AtProtoQuadrant::AddPhiVal(Double_t phival)
49 {
50  fPhiDistrArray.push_back(phival);
51 }
52 
54 {
55  return fQuadrantID;
56 }
58 {
59  return fPhiQ;
60 }
62 {
63  return fEventID;
64 }
66 {
67  return fHitArrayQ.size();
68 }
70 {
71  return &fPhiDistr;
72 }
74 {
75  return fPhiDistrArray.size();
76 }
77 
79 {
80  return (hitNo < GetNumHits() ? &fHitArrayQ[hitNo] : nullptr);
81 }
82 
83 std::vector<AtHit> *AtProtoQuadrant::GetHitArray()
84 {
85  return &fHitArrayQ;
86 }
87 
88 std::vector<Double_t> *AtProtoQuadrant::GetPhiArray()
89 {
90  return &fPhiDistrArray;
91 }
AtProtoQuadrant::fQuadrantID
Int_t fQuadrantID
Definition: AtProtoQuadrant.h:46
AtProtoQuadrant::GetHitArray
std::vector< AtHit > * GetHitArray()
Definition: AtProtoQuadrant.cxx:83
AtProtoQuadrant::GetPhiDistribution
TH1D * GetPhiDistribution()
Definition: AtProtoQuadrant.cxx:69
AtProtoQuadrant::SetHitArray
void SetHitArray(std::vector< AtHit > *hitArray)
Definition: AtProtoQuadrant.cxx:32
AtProtoQuadrant::GetHit
AtHit * GetHit(Int_t hitNo)
Definition: AtProtoQuadrant.cxx:78
AtProtoQuadrant::fPhiQ
Double_t fPhiQ
Definition: AtProtoQuadrant.h:45
AtProtoQuadrant::AddPhiVal
void AddPhiVal(Double_t phival)
Definition: AtProtoQuadrant.cxx:48
AtProtoQuadrant::GetQuadrantID
Int_t GetQuadrantID()
Definition: AtProtoQuadrant.cxx:53
AtProtoQuadrant::GetPhiQ
Double_t GetPhiQ()
Definition: AtProtoQuadrant.cxx:57
AtProtoQuadrant
Definition: AtProtoQuadrant.h:17
AtProtoQuadrant::GetNumPhiVal
std::size_t GetNumPhiVal()
Definition: AtProtoQuadrant.cxx:73
AtProtoQuadrant::SetEventID
void SetEventID(Int_t evtid)
Definition: AtProtoQuadrant.cxx:24
AtProtoQuadrant::GetEventID
Int_t GetEventID()
Definition: AtProtoQuadrant.cxx:61
AtProtoQuadrant::GetNumHits
std::size_t GetNumHits()
Definition: AtProtoQuadrant.cxx:65
AtProtoQuadrant::AddHit
void AddHit(AtHit *hit)
Definition: AtProtoQuadrant.cxx:28
AtProtoQuadrant::fPhiDistr
TH1D fPhiDistr
Definition: AtProtoQuadrant.h:50
AtProtoQuadrant::AtProtoQuadrant
AtProtoQuadrant()=default
AtProtoQuadrant::SetPhiDistribution
void SetPhiDistribution(TH1D *PhiD)
Definition: AtProtoQuadrant.cxx:44
AtProtoQuadrant::SetPhiQ
void SetPhiQ(Double_t PhiQ)
Definition: AtProtoQuadrant.cxx:40
ClassImp
ClassImp(AtProtoQuadrant)
AtProtoQuadrant::fEventID
Int_t fEventID
Definition: AtProtoQuadrant.h:49
AtProtoQuadrant.h
AtProtoQuadrant::fHitArrayQ
std::vector< AtHit > fHitArrayQ
Definition: AtProtoQuadrant.h:44
AtProtoQuadrant::fPhiDistrArray
std::vector< Double_t > fPhiDistrArray
Definition: AtProtoQuadrant.h:51
AtProtoQuadrant::SetQuadrantID
void SetQuadrantID(Int_t QuadrantID)
Definition: AtProtoQuadrant.cxx:36
AtHit
Point in space with charge.
Definition: AtHit.h:27
AtProtoQuadrant::GetPhiArray
std::vector< Double_t > * GetPhiArray()
Definition: AtProtoQuadrant.cxx:88