4 #include "G4OpticalPhoton.hh"
18 :G4VSensitiveDetector(name)
20 collectionName.insert(
"PMTHitCollection");
45 if (aStep->GetTrack()->GetDefinition() != G4OpticalPhoton::OpticalPhotonDefinition())
48 G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
49 G4StepPoint* postStepPoint = aStep->GetPostStepPoint();
53 G4TouchableHistory* theTouchable = (G4TouchableHistory*)(preStepPoint->GetTouchable());
56 if (postStepPoint->GetStepStatus() != fGeomBoundary)
return false;
60 if (preStepPoint->GetStepStatus() != fGeomBoundary)
return false;
62 G4double currentPhotonEnergy = aStep->GetTrack()->GetTotalEnergy();
63 G4double currentHitTime = aStep->GetTrack()->GetGlobalTime();
64 G4int MotherCopyNo = theTouchable->GetVolume(1)->GetCopyNo();
66 G4int MotherReplicaNo2 = theTouchable->GetReplicaNumber(3);
92 G4TrajectoryContainer* trajectoryContainer =
93 G4RunManager::GetRunManager()->GetCurrentEvent()->GetTrajectoryContainer();
95 if(trajectoryContainer==0)
97 G4cout <<
" Could not find the TrajectoryContainer" << G4endl;
113 G4int n_trajectories = trajectoryContainer->entries();
115 while(i != n_trajectories)
119 G4cout <<
" Current charge of possible parent track = " <<trj->
GetCharge() <<
"--- Parent ID = "
QweakSimTrajectory * GetParentTrajectory(G4int parentID)
G4int CerenkovDetectorPMT_CollectionID
virtual ~QweakSimCerenkov_PMTSD()
void StoreHitID(G4int hit_id)
G4THitsCollection< QweakSimCerenkov_PMTHit > QweakSimCerenkovDetector_PMTHitsCollection
Stores the information about the various tracks.
void EndOfEvent(G4HCofThisEvent *HCE)
void StorePhotonEnergy(G4double eng)
QweakSimUserInformation * myUserInfo
void StoreDetectorID(G4int detector_ID)
void SetCurrentPMTHit(QweakSimCerenkov_PMTHit *hit, G4int side)
void StorePMTID(G4int pmt_id)
G4double GetCharge() const
QweakSimCerenkovDetector_PMTHitsCollection * CerenkovDetector_PMTHitsCollection
QweakSimCerenkov_PMTSD(G4String name, QweakSimUserInformation *myUserInfo)
G4bool ProcessHits_constStep(const G4Step *aStep, G4TouchableHistory *ROhist)
void StoreHitTime(G4double time)
void Initialize(G4HCofThisEvent *HCE)