GEMC  2.3
Geant4 Monte-Carlo Framework
ec_hitprocess.h
Go to the documentation of this file.
1 #ifndef EC_HITPROCESS_H
2 #define EC_HITPROCESS_H 1
3 
4 // gemc headers
5 #include "HitProcess.h"
6 
7 // ec constants
8 // these are loaded with initWithRunNumber
10 {
11  public:
12  // runNo is mandatory variable to keep track of run number changes
13  int runNo;
14  string variation;
15  string date;
16  string connection;
17  char database[80];
18 
19  // For strip dependent constants read from CCDB
20  // Array [6][9][3] -> sector,layer,view sector=1-6 layer=1-3 (PCAL) 4-6 (ECinner) 7-9 (ECouter) view=1-3 (U,V,W)
21 
22  //attlen: attenuation length
23  vector<double> attlen[6][9][3];
24 
25  double NSTRIPS; // Number of strips
26  double TDC_time_to_evio; // Conversion from time (ns) to EVIO TDC format
27  double ADC_MeV_to_evio; // Conversion from energy (MeV) to EVIO FADC250 format
28  double veff; // Effective velocity of scintillator light (mm/ns)
29  double pmtPEYld; // Number of p.e. divided by the energy deposited in MeV. See EC NIM paper table 1.
30  double pmtQE; // Quantum efficiency of PMT
31  double pmtDynodeGain; // PMT dynode gain
32  double pmtDynodeK; // PMT dynode secondary emission statistics factor: K=0 (Poisson) K=1 (exponential)
33  double pmtFactor; // Contribution to FWHM from PMT statistical fluctuations.
34 };
35 
36 
37 // Class definition
38 class ec_HitProcess : public HitProcess
39 {
40  public:
41 
43 
44  // constants initialized with initWithRunNumber
45  static ecConstants ecc;
46 
47  void initWithRunNumber(int runno);
48 
49  // - integrateDgt: returns digitized information integrated over the hit
50  map<string, double> integrateDgt(MHit*, int);
51 
52  // - multiDgt: returns multiple digitized information / hit
53  map< string, vector <int> > multiDgt(MHit*, int);
54 
55  // The pure virtual method processID returns a (new) identifier
56  // containing hit sharing information
57  vector<identifier> processID(vector<identifier>, G4Step*, detector);
58 
59  // creates the HitProcess
60  static HitProcess *createHitClass() {return new ec_HitProcess;}
61 
62 };
63 
64 
65 
66 
67 
68 #endif
double pmtPEYld
Definition: ec_hitprocess.h:29
double ADC_MeV_to_evio
Definition: ec_hitprocess.h:27
double pmtQE
Definition: ec_hitprocess.h:30
string variation
Definition: ec_hitprocess.h:14
string connection
Definition: ec_hitprocess.h:16
double NSTRIPS
Definition: ec_hitprocess.h:25
static HitProcess * createHitClass()
Definition: ec_hitprocess.h:60
double TDC_time_to_evio
Definition: ec_hitprocess.h:26
vector< double > attlen[6][9][3]
Definition: ec_hitprocess.h:23
char database[80]
Definition: ec_hitprocess.h:17
Definition: Hit.h:22
static ecConstants ecc
Definition: ec_hitprocess.h:45
double pmtDynodeK
Definition: ec_hitprocess.h:32
double pmtFactor
Definition: ec_hitprocess.h:33
double pmtDynodeGain
Definition: ec_hitprocess.h:31