Skip to content
Snippets Groups Projects
DummyFastSimG4Model.cpp 974 B
Newer Older
#include "G4Track.hh"
#include "G4FastTrack.hh"

DummyFastSimG4Model::DummyFastSimG4Model(G4String aModelName, G4Region* aEnvelope)
    : G4VFastSimulationModel(aModelName, aEnvelope) {

}

DummyFastSimG4Model::~DummyFastSimG4Model() {

}

G4bool DummyFastSimG4Model::IsApplicable(const G4ParticleDefinition& aParticle) {
    return aParticle.GetPDGCharge() != 0;
}

G4bool DummyFastSimG4Model::ModelTrigger(const G4FastTrack& aFastTrack) {
    G4cout << __FILE__ << __LINE__ << ": ModelTrigger." << G4endl;

    bool istrigged = false;

    // only select the secondaries
    const G4Track* track = aFastTrack.GetPrimaryTrack();
    // secondaries
    if (track->GetParentID() != 0) {
        istrigged = true;
    }
    return istrigged;
}

void DummyFastSimG4Model::DoIt(const G4FastTrack& aFastTrack, G4FastStep& aFastStep) {
    G4cout << __FILE__ << __LINE__ << ": DoIt." << G4endl;
    aFastStep.ProposeTrackStatus(fStopAndKill);