/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Simulation/BOOST/TruSim/TruSim-00-00-17/src/BesSensitiveDetector.cc

Go to the documentation of this file.
00001 //---------------------------------------------------------------------------//
00009 
00010 // A pure virtual class that represents a generic Bes sensitive
00011 // Detector. Bes subsystems should inherit from this class when
00012 // implementing their hit scoring.
00013 
00014 #include "BesSensitiveDetector.hh"
00015 #include "BesSensitiveManager.hh"
00016 #include "BesTruthTrack.hh"
00017 
00018 //
00019 // Constructor
00020 //
00021 BesSensitiveDetector::BesSensitiveDetector( const G4String name)
00022         : G4VSensitiveDetector(name)
00023 {
00024         BesSensitiveManager* manager = BesSensitiveManager::GetSensitiveManager();
00025   manager->AddSensitiveDetector(this);
00026 }
00027 
00028 // Ask the sensitive detector manager
00029 //
00030 void BesSensitiveDetector::GetCurrentTrackIndex(G4int& trackIndex, G4int& g4TrackId) const
00031 {
00032   BesSensitiveManager* manager = BesSensitiveManager::GetSensitiveManager();
00033   if(manager)
00034   {
00035     trackIndex = manager->GetCurrentTrackIndex();
00036     std::vector<BesTruthTrack*>* trackList = manager->GetTrackList();
00037     if(trackList)
00038     {
00039       G4int size = trackList->size();
00040       if(size>0)
00041       {
00042         for(G4int i=0;i<size;i++)
00043         {
00044           if( (*trackList)[i]->GetIndex() == trackIndex )
00045           {
00046             g4TrackId = (*trackList)[i]->GetG4TrackId();
00047             break;
00048           }
00049         }
00050       } 
00051     }
00052   }
00053 }
00054 
00055 
00056 
00057 
00058 
00059 
00060 
00061 

Generated on Tue Nov 29 23:14:32 2016 for BOSS_7.0.2 by  doxygen 1.4.7