CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
Cgem/CgemDigitizerSvc/CgemDigitizerSvc-00-00-24/CgemDigitizerSvc/InductionGar.h
Go to the documentation of this file.
1#ifndef INDUCTIONGAR_H
2#define INDUCTIONGAR_H
3
4#include "CgemGeomSvc/ICgemGeomSvc.h"
5#include "CgemDigitizerSvc/Induction.h"
6
7#include <vector>
8#include <string>
9#include "TH1D.h"
10#include "TFile.h"
11
12class G4Svc;
13
14class InductionGar: public Induction {
15public:
18
19 void init(ICgemGeomSvc* geomSvc, double magConfig);
20
21 void setDebugOutput(bool debugOutput){m_debugOutput = debugOutput;}
22
23 void setMultiElectrons(int layer, int nElectrons, std::vector<double> x, std::vector<double> y, std::vector<double> z, std::vector<double> t);
24
25 /* output info of fired strips */
26 int getNXstrips() const {return m_nXstrips;}
27 int getNVstrips() const {return m_nVstrips;}
28 int getXstripSheet(int n) const {return m_xstripSheet[n];}
29 int getXstripID(int n) const {return m_xstripID[n];}
30 int getVstripSheet(int n) const {return m_vstripSheet[n];}
31 int getVstripID(int n) const {return m_vstripID[n];}
32 double getXstripQ(int n) const {return m_xstripQ[n];}
33 double getVstripQ(int n) const {return m_vstripQ[n];}
34 double getXstripT(int n) const {return m_xstripT[n];}
35 double getVstripT(int n) const {return m_vstripT[n];}
36
37private:
38 ICgemGeomSvc* m_geomSvc;
39 double m_magConfig; /* magnetic field */
40 bool m_debugOutput;
41
42 /* fired strips */
43 int m_nXstrips;
44 int m_nVstrips;
45 std::vector<int> m_xstripSheet;
46 std::vector<int> m_xstripID;
47 std::vector<int> m_vstripSheet;
48 std::vector<int> m_vstripID;
49 std::vector<double> m_xstripQ;
50 std::vector<double> m_vstripQ;
51 std::vector<double> m_xstripT;
52 std::vector<double> m_vstripT;
53
54 std::map<int, double> m_mapQ[2][2];//[nSheet][XV-view]
55
56 double RatioX[3][5][5][4]; // [layer][bin-x][bin-y][Index of IDx]
57 double RatioV[3][5][5][4]; // [layer][bin-x][bin-y][Index of IDv]
58
59 //TH1D * SignalX[3][5][5][4]; // [layer][bin-x][bin-y][Index of IDx]
60 //TH1D * SignalV[3][5][5][4]; // [layer][bin-x][bin-y][Index of IDv]
61
62 double SignalX[3][5][5][4][100]; // [layer][bin-x][bin-y][Index of IDx]
63 double SignalV[3][5][5][4][100]; // [layer][bin-x][bin-y][Index of IDv]
64};
65
66#endif
const Int_t n
void init(ICgemGeomSvc *geomSvc, double magConfig)
void setMultiElectrons(int layer, int nElectrons, std::vector< double > x, std::vector< double > y, std::vector< double > z, std::vector< double > t)
int t()
Definition: t.c:1