46 {
50 return false;
51 }
52 }
53
54 if (verboseLevel>5)
55 {
56 G4cout << "LUCID_SensitiveDetector::ProcessHits - Begin" << G4endl;
57 }
58 G4Track* aTrack = aStep->GetTrack();
59
60 if (aTrack->GetDefinition() != G4OpticalPhoton::OpticalPhotonDefinition()) return false;
61
62 if (verboseLevel>5)
63 {
64 G4cout << "LUCID_SensitiveDetector::ProcessHits(): There is an OpticalPhoton " << G4endl;
65 }
66
67 aTrack->SetTrackStatus(fKillTrackAndSecondaries);
68
69 if (aTrack->GetCreatorProcess()->GetProcessName() != "Cerenkov") return false;
70
71 if (verboseLevel>5)
72 {
73 G4cout << "LUCID_SensitiveDetector::ProcessHits(): It is from a Cerenkov process " << G4endl;
74 }
75
76 TrackHelper trHelp(aTrack);
77 double energy = aTrack->GetKineticEnergy()/CLHEP::eV;
78 double lambda =
m_hit->GetWaveLength(energy);
79
81 aTrack->GetDefinition()->GetPDGEncoding(),
82 trHelp.GenerateParticleLink(),
84 m_hit->GetPreStepPoint (aStep).x(),
85 m_hit->GetPreStepPoint (aStep).y(),
86 m_hit->GetPreStepPoint (aStep).z(),
87 m_hit->GetPostStepPoint(aStep).x(),
88 m_hit->GetPostStepPoint(aStep).y(),
89 m_hit->GetPostStepPoint(aStep).z(),
90 m_hit->GetPreStepTime (aStep),
91 m_hit->GetPostStepTime (aStep),
92 lambda,
93 energy);
94 return true;
95}
static int GetVolNumber(const G4String &)