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