4#include "CgemGeomSvc/ICgemGeomSvc.h"
5#include "CgemDigitizerSvc/DriftAndAvalanche.h"
21 void setIonElectrons(
int layer,
int nElectrons, std::vector<double>
x, std::vector<double> y, std::vector<double> z, std::vector<double>
t);
25 double getX(
int n)
const {
return m_eX[
n];}
26 double getY(
int n)
const {
return m_eY[
n];}
27 double getZ(
int n)
const {
return m_eZ[
n];}
28 double getT(
int n)
const {
return m_eT[
n];}
37 bool samplingDrift(
double driftD,
int idIon);
38 bool samplingTransfer(
int region,
int idLastStep);
39 int samplingGain(
int region);
40 bool calMultiE(
int layer);
51 std::vector<double> m_vecIonR;
52 std::vector<double> m_vecIonPhi;
53 std::vector<double> m_vecIonZ;
54 std::vector<double> m_vecIonT;
58 std::vector<int> m_idIon;
59 std::vector<double> m_vecGem1dX;
60 std::vector<double> m_vecGem1dZ;
61 std::vector<double> m_vecGem1dT;
65 std::vector<int> m_idGem1;
66 std::vector<double> m_vecGem2dX;
67 std::vector<double> m_vecGem2dZ;
68 std::vector<double> m_vecGem2dT;
72 std::vector<int> m_idGem2;
73 std::vector<double> m_vecGem3dX;
74 std::vector<double> m_vecGem3dZ;
75 std::vector<double> m_vecGem3dT;
79 std::vector<double> m_eX;
80 std::vector<double> m_eY;
81 std::vector<double> m_eZ;
82 std::vector<double> m_eT;
85 double m_gain_gem[3][3];
90 double m_sigmaXpar[4];
92 double m_sigmaZpar[4];
94 double m_sigmaTpar[4];
95 double m_transparency_gem1;
98 double m_meanX_transf[2];
99 double m_sigmaX_transf[2];
100 double m_meanZ_transf[2];
101 double m_sigmaZ_transf[2];
102 double m_meanT_transf[2];
103 double m_sigmaT_transf[2];
104 double m_transparency_gem2;
105 double m_transparency_gem3;
108 double m_meanX_induc;
109 double m_sigmaX_induc;
110 double m_meanZ_induc;
111 double m_sigmaZ_induc;
112 double m_meanT_induc;
113 double m_sigmaT_induc;
int getNelectrons() const
void init(ICgemGeomSvc *geomSvc, double magConfig)
void setIonElectrons(int layer, int nElectrons, std::vector< double > x, std::vector< double > y, std::vector< double > z, std::vector< double > t)