GosSiP  1.32
HitMatrix.h
Go to the documentation of this file.
1 #ifndef HitMatrix_h
2 #define HitMatrix_h
3 
4 #include <iostream>
5 #include <vector>
6 #include <TH2.h>
7 #include <TCanvas.h>
8 
9 using std::vector;
10 using std::cout;
11 using std::endl;
12 
13 enum { PE, DR, CT, AP };
14 enum { X, Y, TIME, TYPE, AMPLITUDE, PROCESSED };
15 
25 class HitMatrix : public vector<vector<double> >
26 {
27  public:
28 
29  HitMatrix();
30  ~HitMatrix();
31 
32  void Init();
33  void Clear( int type );
34  int AddHit( int x, int y, double time, int type );
35  void HitProcessed( unsigned int iHit );
36  vector<double> GetHit( unsigned int iHit );
37  bool GetProcessed( unsigned int iHit );
38  double GetPreviousTime( unsigned int iHit );
39  int FindHit( vector<double> aHit );
40  void EraseHit( vector<double> aHit );
41  int nHits( int type );
42  int nHits();
43  TH2D* DrawMatrix();
44  void PrintMatrix();
45  void SetAmplitude( unsigned int iHit, double amplitude );
47  void SetGate( double g, bool gCut=true ){ gate = g; gateCut = gCut; };
48  void SetGeometry( TH2I* geometry );
50  private:
51 
52  double gate;
53  bool gateCut;
54  TH2I *h_geometry;
55  int Nx;
56  int Ny;
57  vector<double> hit;
58  TH2D *h_hits;
59  TCanvas *c_hitMatrix;
60 };
61 
62 #endif
Definition: HitMatrix.h:14
void Clear(int type)
Definition: HitMatrix.cpp:41
TH2D * DrawMatrix()
Definition: HitMatrix.cpp:227
Definition: HitMatrix.h:25
Definition: HitMatrix.h:14
Definition: HitMatrix.h:13
Definition: HitMatrix.h:13
Definition: HitMatrix.h:14
void Init()
Definition: HitMatrix.cpp:33
Definition: HitMatrix.h:13
Definition: HitMatrix.h:14
HitMatrix()
Definition: HitMatrix.cpp:9
void HitProcessed(unsigned int iHit)
Definition: HitMatrix.cpp:141
double GetPreviousTime(unsigned int iHit)
Definition: HitMatrix.cpp:157
Definition: HitMatrix.h:14
vector< double > GetHit(unsigned int iHit)
Definition: HitMatrix.cpp:125
~HitMatrix()
Definition: HitMatrix.cpp:23
int FindHit(vector< double > aHit)
Definition: HitMatrix.cpp:178
Definition: HitMatrix.h:13
bool GetProcessed(unsigned int iHit)
Definition: HitMatrix.cpp:149
void SetGeometry(TH2I *geometry)
Definition: HitMatrix.cpp:65
int AddHit(int x, int y, double time, int type)
Definition: HitMatrix.cpp:75
void PrintMatrix()
Definition: HitMatrix.cpp:265
int nHits()
Definition: HitMatrix.cpp:219
void EraseHit(vector< double > aHit)
Definition: HitMatrix.cpp:194
Definition: HitMatrix.h:14
void SetGate(double g, bool gCut=true)
Definition: HitMatrix.h:47
void SetAmplitude(unsigned int iHit, double amplitude)
Definition: HitMatrix.cpp:133