00001 #include "G4ToHistoryUtensils.h"
00002 #include "G4Track.hh"
00003 #include "G4ParticleDefinition.hh"
00004 #include "G4VProcess.hh"
00005
00006 using namespace DayaBay;
00007
00008
00009 void SimProcessFromG4Process(const G4VProcess* g4proc,
00010 SimProcess& outProc)
00011 {
00012 if(g4proc){
00013 switch(g4proc->GetProcessType()) {
00014 case fTransportation : outProc = SimProcess(SimProcess::kTransportation ,g4proc->GetProcessName()); return;
00015 case fElectromagnetic : outProc = SimProcess(SimProcess::kElectromagnetic ,g4proc->GetProcessName()); return;
00016 case fOptical : outProc = SimProcess(SimProcess::kOptical ,g4proc->GetProcessName()); return;
00017 case fHadronic : outProc = SimProcess(SimProcess::kHadronic ,g4proc->GetProcessName()); return;
00018 case fPhotolepton_hadron : outProc = SimProcess(SimProcess::kPhotolepton_hadron ,g4proc->GetProcessName()); return;
00019 case fDecay : outProc = SimProcess(SimProcess::kDecay ,g4proc->GetProcessName()); return;
00020 case fGeneral : outProc = SimProcess(SimProcess::kGeneral ,g4proc->GetProcessName()); return;
00021 case fParameterisation : outProc = SimProcess(SimProcess::kParameterisation ,g4proc->GetProcessName()); return;
00022 case fUserDefined : outProc = SimProcess(SimProcess::kUserDefined ,g4proc->GetProcessName()); return;
00023 default:
00024 outProc = SimProcess(SimProcess::kUnknown,g4proc->GetProcessName());
00025 }
00026 }
00027 }
00028
00029
00030 int pdgFromG4Track(const G4Track* g4track)
00031 {
00032 int code = g4track->GetDefinition()->GetPDGEncoding();
00033
00034
00035
00036 return code;
00037 }
00038