/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DsOpStackAction.h
Go to the documentation of this file.
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 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 10:17:58 for DetSim by doxygen 1.7.4