ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtProtoQuadrant.h
Go to the documentation of this file.
1 #ifndef AtPROTOQUADRANT_H
2 #define AtPROTOQUADRANT_H
3 
4 #include "AtHit.h"
5 
6 #include <Rtypes.h>
7 #include <TH1.h>
8 #include <TObject.h>
9 
10 #include <cstddef> // for size_t
11 #include <vector>
12 
13 class TBuffer;
14 class TClass;
15 class TMemberInspector;
16 
17 class AtProtoQuadrant : public TObject {
18 public:
19  AtProtoQuadrant() = default;
20  AtProtoQuadrant(Int_t QuadrantID);
21  AtProtoQuadrant(std::vector<AtHit> HitArray, Int_t QuadrantID);
22  AtProtoQuadrant(std::vector<AtHit> HitArray, Int_t QuadrantID, Double_t PhiQ);
23  ~AtProtoQuadrant() = default;
24 
25  void SetEventID(Int_t evtid);
26  void AddHit(AtHit *hit);
27  void SetHitArray(std::vector<AtHit> *hitArray);
28  void SetQuadrantID(Int_t QuadrantID);
29  void SetPhiQ(Double_t PhiQ);
30  void SetPhiDistribution(TH1D *PhiD);
31  void AddPhiVal(Double_t phival);
32 
33  Int_t GetQuadrantID();
34  Double_t GetPhiQ();
35  Int_t GetEventID();
36  std::size_t GetNumHits();
37  AtHit *GetHit(Int_t hitNo);
38  std::vector<AtHit> *GetHitArray();
39  TH1D *GetPhiDistribution();
40  std::vector<Double_t> *GetPhiArray();
41  std::size_t GetNumPhiVal();
42 
43 protected:
44  std::vector<AtHit> fHitArrayQ; // Collection of hits in that quadrant
45  Double_t fPhiQ{0.0}; // Phi angle on the quadrant
46  Int_t fQuadrantID{}; // Quadrant ID : 1 (0-90) - 2 (90 - 180) - 3 (180-270) - 4 (270-360) - 0 (Central Pad) [Defined
47  // in the Phi Task]
48  // TODO: A AtTrack object must be collected here...Future stuff
49  Int_t fEventID{-1};
50  TH1D fPhiDistr;
51  std::vector<Double_t> fPhiDistrArray;
52 
54 };
55 
56 #endif
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
AtHit.h
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
AtProtoQuadrant::ClassDef
ClassDef(AtProtoQuadrant, 1)
AtProtoQuadrant::fEventID
Int_t fEventID
Definition: AtProtoQuadrant.h:49
AtProtoQuadrant::fHitArrayQ
std::vector< AtHit > fHitArrayQ
Definition: AtProtoQuadrant.h:44
AtProtoQuadrant::fPhiDistrArray
std::vector< Double_t > fPhiDistrArray
Definition: AtProtoQuadrant.h:51
AtProtoQuadrant::~AtProtoQuadrant
~AtProtoQuadrant()=default
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