00001 //--------------------------------------------------------------------------- 00002 //Description: Sensitive detector definition for Monitor 00003 //Author: Wu Chen(wuchen@mail.ihep.ac.cn) 00004 //Created: 17 Oct, 2012 00005 //Comment: 00006 //---------------------------------------------------------------------------// 00007 00008 #ifndef KillerSD_h 00009 #define KillerSD_h 1 00010 00011 #include "myglobals.hh" 00012 00013 #include <iostream> 00014 #include <vector> 00015 00016 #include "MySD.hh" 00017 00018 class G4Step; 00019 class G4HCofThisEvent; 00020 class MyVGeometryParameter; 00021 00022 class KillerSD : public MySD 00023 { 00024 public: 00025 KillerSD(G4String, MyVGeometryParameter*); 00026 virtual ~KillerSD(); 00027 00028 void Initialize(G4HCofThisEvent*); 00029 G4bool ProcessHits(G4Step*, G4TouchableHistory*); 00030 void EndOfEvent(G4HCofThisEvent*); 00031 00032 //inherit from MySD 00033 void SetBranch(); 00034 00035 void ReadOutputCard(G4String filename); 00036 00037 private: 00038 00039 void ReSet(); 00040 void ShowOutCard(); 00041 00042 private: 00043 00044 //for filter 00045 bool Switch; 00046 bool neutralCut; 00047 G4int maxn; 00048 G4double minp; 00049 G4double mine; 00050 G4double tres; 00051 G4double mint; 00052 G4double maxt; 00053 G4double minedep; 00054 std::vector<int> white_list; 00055 std::vector<int> black_list; 00056 }; 00057 00058 #endif 00059