00001 //---------------------------------------------------------------------------// 00005 // PreUserTrackingAction: at the beginning of a track 00006 // PostUserTrackingAction: at the end of a track 00008 // 00009 // ////Created: Aug, 2004 00010 // ////Modified: 00011 // ////Comment: 00012 // ////---------------------------------------------------------------------------// 00013 // //// $Id:BesTrackingAction.cc 00014 00015 #include "BesTrackingAction.hh" 00016 #include "BesSensitiveManager.hh" 00017 #include "G4VProcess.hh" 00018 #include "G4RunManager.hh" 00019 #include "BesRunAction.hh" 00020 00021 BesTrackingAction::BesTrackingAction(BesRunAction* runAction) 00022 :m_runAction(runAction) 00023 {;} 00024 00025 BesTrackingAction::~BesTrackingAction() 00026 {;} 00027 00028 void BesTrackingAction::PreUserTrackingAction(const G4Track* track) 00029 { 00030 if(m_runAction->GetMCTruthFlag()!=0) 00031 { 00032 BesSensitiveManager* sensitiveManager = BesSensitiveManager::GetSensitiveManager(); 00033 sensitiveManager->BeginOfTrack(track); 00034 } 00035 } 00036 00037 void BesTrackingAction::PostUserTrackingAction(const G4Track* track) 00038 { 00039 if(m_runAction->GetMCTruthFlag()!=0) 00040 { 00041 BesSensitiveManager* sensitiveManager = BesSensitiveManager::GetSensitiveManager(); 00042 sensitiveManager->EndOfTrack(track, fpTrackingManager); 00043 } 00044 } 00045