GEMC  2.3
Geant4 Monte-Carlo Framework
ftof_hitprocess.h
Go to the documentation of this file.
1 #ifndef FTOF_HITPROCESS_H
2 #define FTOF_HITPROCESS_H 1
3 
4 // gemc headers
5 #include "HitProcess.h"
6 
7 
9 {
10  public:
11 
12  // Database parameters
13  int runNo;
14  string variation;
15  string date;
16  string connection;
17  char database[80];
18 
19  // For paddle dependent constants read from CCDB
20  // Array [6][3][2] -> sector,panel,LR
21 
22  // status:
23  // 0 - fully functioning
24  // 1 - noADC
25  // 2 - noTDC
26  // 3 - noADC, noTDC (PMT is dead)
27  // 5 - any other reconstruction problem
28  vector<int> status[6][3][2];
29 
30  // veff: effective velocity
31  vector<double> veff[6][3][2];
32 
33  // attlen: attenuation length
34  vector<double> attlen[6][3][2];
35 
36  // countsForMIP: Desired ADC channel for MIP peak calibration
37  vector<double> countsForMIP[6][3][2];
38 
39  // twlk: Time walk correction, 3 constants each for L and R
40  vector<double> twlk[6][3][6];
41 
42  // tres: Gaussian sigma for smearing time resolution
43  vector<double> tres[3];
44 
45  int npaddles[3]; // Number of paddles for Panel 1A, 1B and 2.
46  int thick[3]; // Thickness of paddles (cm) for Panel 1A, 1B and 2.
47  double dEdxMIP; // Nominal MIP specific energy loss (MeV/gm/cm2)
48  double dEMIP[3]; // Nominal MIP energy loss (MeV) for Panel 1A, 1B and 2.
49 
50  double pmtPEYld; // Photoelectron yield (p.e./MeV)
51  double pmtQE; // Quantum efficiency of PMT
52  double pmtDynodeGain; // PMT dynode gain
53  double pmtDynodeK; // PMT dynode secondary emission statistics factor: K=0 (Poisson) K=1 (exponential)
54  double pmtFactor; // Contribution to FWHM from PMT statistical fluctuations.
55  double tdcLSB; // Conversion from ns to TDC channel.
56 };
57 
58 
59 // Class definition
62 
64 {
65  public:
66 
68 
69  // constants initialized with initWithRunNumber
71 
72  void initWithRunNumber(int runno);
73 
74  // - integrateDgt: returns digitized information integrated over the hit
75  map<string, double> integrateDgt(MHit*, int);
76 
77  // - multiDgt: returns multiple digitized information / hit
78  map< string, vector <int> > multiDgt(MHit*, int);
79 
80  // The pure virtual method processID returns a (new) identifier
81  // containing hit sharing information
82  vector<identifier> processID(vector<identifier>, G4Step*, detector);
83 
84  // creates the HitProcess
85  static HitProcess *createHitClass() {return new ftof_HitProcess;}
86 
87 
88 };
89 
90 
91 
92 #endif
93 
94 
95 
96 
vector< double > attlen[6][3][2]
vector< int > status[6][3][2]
double pmtDynodeGain
vector< double > twlk[6][3][6]
vector< double > tres[3]
char database[80]
double dEMIP[3]
Definition: Hit.h:22
vector< double > countsForMIP[6][3][2]
static ftofConstants ftc
static HitProcess * createHitClass()
vector< double > veff[6][3][2]