GEMC  2.3
Geant4 Monte-Carlo Framework
dc_hitprocess.h
Go to the documentation of this file.
1 #ifndef DC_HITPROCESS_H
2 #define DC_HITPROCESS_H 1
3 
4 // gemc headers
5 #include "HitProcess.h"
6 
7 // constants to be used in the digitization routine
8 // warning: since NWIRES and ministagger are also used by processID, the plugin loading
9 // has to happen before the first event is processed. In other words,
10 // initializeDCConstants(1) - or remove the if(runno == -1) return dcc;
12 {
13  public:
14 
15  // database
16  int runNo;
17  string variation;
18  string date;
19  string connection;
20 
21  double driftVelocity[6];
22  double miniStagger[6];
23  double dcThreshold;
24  int NWIRES;
25  double dLayer[6]; // ~cell size in each superlayer - one of Mac's core parameters
26 
27  // efficiency parameters for each superlayer
28  double P1[6], P2[6], P3[6], P4[6], iScale[6];
29 
30  // smearing parameters for each sector / superlayer
31  double smearP1[6][6], smearP2[6][6], smearP3[6][6], smearP4[6][6], smearScale[6][6];
32 
33 
34 };
35 
36 
37 
38 
39 
40 // Class definition
41 class dc_HitProcess : public HitProcess
42 {
43  public:
44 
46 
47  // - integrateDgt: returns digitized information integrated over the hit
48  map<string, double> integrateDgt(MHit*, int);
49 
50  // - multiDgt: returns multiple digitized information / hit
51  map< string, vector <int> > multiDgt(MHit*, int);
52 
53  // The pure virtual method processID returns a (new) identifier
54  // containing hit sharing information
55  vector<identifier> processID(vector<identifier>, G4Step*, detector);
56 
57  // creates the HitProcess
58  static HitProcess *createHitClass() {return new dc_HitProcess;}
59 
60  private:
61 
62  // constants initialized with initWithRunNumber
63  static dcConstants dcc;
64 
65  void initWithRunNumber(int runno);
66 
67 };
68 
69 #endif
string connection
Definition: dc_hitprocess.h:19
string variation
Definition: dc_hitprocess.h:17
double dcThreshold
Definition: dc_hitprocess.h:23
double smearScale[6][6]
Definition: dc_hitprocess.h:31
double driftVelocity[6]
Definition: dc_hitprocess.h:21
double dLayer[6]
Definition: dc_hitprocess.h:25
double smearP1[6][6]
Definition: dc_hitprocess.h:31
double smearP3[6][6]
Definition: dc_hitprocess.h:31
double P2[6]
Definition: dc_hitprocess.h:28
Definition: Hit.h:22
double P3[6]
Definition: dc_hitprocess.h:28
double P1[6]
Definition: dc_hitprocess.h:28
double P4[6]
Definition: dc_hitprocess.h:28
double miniStagger[6]
Definition: dc_hitprocess.h:22
double smearP4[6][6]
Definition: dc_hitprocess.h:31
double smearP2[6][6]
Definition: dc_hitprocess.h:31
double iScale[6]
Definition: dc_hitprocess.h:28
static HitProcess * createHitClass()
Definition: dc_hitprocess.h:58