CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
Simulation/BOOST/CgemSim/CgemSim-01-00-32/CgemSim/BesCgemSD.hh
Go to the documentation of this file.
1//-------------------------------------------------------------------------------------//
2// BOOST --- BESIII Object_Oriented Simulation Tool //
3//-------------------------------------------------------------------------------------//
4/*
5 * =====================================================================================
6 *
7 * Filename: BesCgemSD.hh
8 * Description:
9 * Conventions:
10 * gv_ : global variable
11 * lv_ : local variable used in function
12 * lvd_ : local variable double
13 * m_* : normal member of class
14 * sm_* : static member of class
15 * m_M_* : class data member, material of each layer
16 * m_N_* : class data member, number of layers (CgemLayer,GemFoil)
17 * m_R_* : class data member, radius of each (material) layer, and so on
18 * m_L_* : class data member, length of each layer or hole pitch
19 * m_T_* : class data member, thickness of each (material) layer
20 * m_A_* : class data member, angle of anode VStrip
21 * Version: CgemSim-01-00-00
22 * Created: 01/02/2014 08:59:21 AM
23 * Revision: CgemSim-00-00-01(in CMT version CgemBoss-0.0.1 written by xiuql)
24 * Compiler: gcc
25 * Author: [email protected]
26 * Organization: DG1,EPC,IHEP
27 * History:
28 * <Num> <Author> <Time> <Version> <remark>
29 * 0 juxd 20140102 01-00-00 created,
30 *
31 * =====================================================================================
32 */
33
34//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
35#ifndef BesCgemSD_h
36#define BesCgemSD_h 1
37class TFile;
38class TH1F;
39
40/* Header file: BOSS */
41#include "BesSensitiveDetector.hh"
42#include "BesCgemHit.hh"
43
44/* Header file: Geant4 */
45#include "G4VSensitiveDetector.hh"
46
47/* Header file: C++ */
48#include <vector>
49#include <fstream>
50#include <utility>
51#include <map>
52
53class G4Step;
54class G4HCofThisEvent;
56class G4Svc;
57
58//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
60{
61public:
62 BesCgemSD(G4String);
64
65 void Initialize(G4HCofThisEvent*);
66 G4bool ProcessHits(G4Step*, G4TouchableHistory*);
67 void EndOfEvent(G4HCofThisEvent*);
68
69 void BeginOfTruthEvent(const G4Event*);
70 void EndOfTruthEvent(const G4Event*);
71
72private:
73 BesCgemHitsCollection *m_collection_hit;
74 BesCgemHitsCollection *m_collection_truth;
75 BesCgemHit* myCgemTruth;
76
77 typedef pair<G4int, G4int> KeyType;
78 map<KeyType, G4int> m_map_truth;
79 map<KeyType, G4int>::iterator m_map_truth_it;
80
81 //Add by sunxh
82 vector<int> hit_ID_vector;
83 G4int lvi_ID_hit ;
84 //end
85
86 int m_F_printTruth; /* Flag of whether print Truth or not: 0-OFF, 1-ON */
87 int m_F_outputTruth; /* Flag of whether output Truth or not: 0-OFF, 1-ON */
88 fstream m_outputTruth; /* Output Truth stream */
89};
90
91//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
92#endif
G4THitsCollection< BesCgemHit > BesCgemHitsCollection
void EndOfTruthEvent(const G4Event *)
void EndOfEvent(G4HCofThisEvent *)
G4bool ProcessHits(G4Step *, G4TouchableHistory *)
void BeginOfTruthEvent(const G4Event *)
BesCgemSD(G4String)
void Initialize(G4HCofThisEvent *)