/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 #ifndef DSOPSTACKACTION_H 00002 #define DSOPSTACKACTION_H 1 00003 00004 #include "globals.hh" 00005 #include <iostream> 00006 #include <vector> 00007 00008 #include "G4UserStackingAction.hh" 00009 #include "G4ThreeVector.hh" 00010 #include "GaudiAlg/GaudiTool.h" 00011 #include "G4OpticalPhoton.hh" 00012 #include "G4Neutron.hh" 00013 #include "GiGa/GiGaStackActionBase.h" 00014 00015 /* A user defined class to select interesting events in the stack action. 00016 00017 ----- Kevin Zhang, Feb 2009 00018 */ 00019 00020 00021 class G4Track; 00022 class IGeometryInfo; 00023 class ICoordSysSvc; 00024 00025 using namespace std; 00026 00027 class DsOpStackAction : public GiGaStackActionBase 00028 { 00029 public: 00030 00031 DsOpStackAction( const std::string& type , const std::string& name , const IInterface* parent ) ; 00032 virtual ~DsOpStackAction() {}; 00033 00034 virtual StatusCode initialize () ; 00035 virtual StatusCode finalize () ; 00036 00037 00038 public: 00039 virtual G4ClassificationOfNewTrack ClassifyNewTrack( const G4Track* aTrack); 00040 virtual void NewStage(); 00041 virtual void PrepareNewEvent(); 00042 virtual G4bool IsNeutronDaughter(const G4int id, const vector<G4int> aList); 00043 virtual G4bool IsAInterestingTrack(const G4Track* aTrack); 00044 virtual G4bool PossibleInterestingTrack(const G4Track* aTrack); 00045 00046 private: 00047 00048 G4int stage; 00049 G4int PhotonNumbers; 00050 G4int NeutronNumbers; 00051 G4bool interestingEvt; // Is this event a possible background event? 00052 00053 std::vector<G4int> neutronList; 00054 00055 00056 // background selection property. 00057 G4bool m_tightCut; 00058 00059 // kill all the optical photons if True 00060 G4bool m_photonCut; 00061 00062 // Maximum Number of optical photons been hold.. 00063 G4double m_maxPhoton; 00064 00065 // IGeometryInfo* m_geo; 00066 00067 // Locally cached pointer to the CoordSysSvc 00068 ICoordSysSvc* m_csvc; 00069 00070 // std::string m_VertexSelection; 00071 00072 }; 00073 00074 #endif 00075