Applicable to OP and all:
300 inline
301 G4bool DsG4Scintillation::IsApplicable(const G4ParticleDefinition& aParticleType)
302 {
303 if (aParticleType.GetParticleName() == "opticalphoton"){
304 return true;
305 } else {
306 return true;
307 }
308 }
delta:src blyth$ grep DoBothProcess *.*
DsG4Scintillation.h: void SetDoBothProcess(bool tf = true) { doBothProcess = tf; }
DsG4Scintillation.h: bool GetDoBothProcess() { return doBothProcess; }
DsPhysConsOptical.cc: scint->SetDoBothProcess(m_doScintAndCeren);
delta:src blyth$
246 if (aParticleName == "opticalphoton") {
247 FastTimeConstant = "ReemissionFASTTIMECONSTANT";
248 SlowTimeConstant = "ReemissionSLOWTIMECONSTANT";
249 strYieldRatio = "ReemissionYIELDRATIO";
250 }
685 G4Track* aSecondaryTrack =
686 new G4Track(aScintillationPhoton,aSecondaryTime,aSecondaryPosition);
687
688 G4CompositeTrackInfo* comp=new G4CompositeTrackInfo();
689 DsPhotonTrackInfo* trackinf=new DsPhotonTrackInfo();
690 if ( flagReemission ){
691 if ( reemittedTI ) *trackinf = *reemittedTI;
692 trackinf->SetReemitted();
693 }
694 else if ( fApplyPreQE ) {
695 trackinf->SetMode(DsPhotonTrackInfo::kQEPreScale);
696 trackinf->SetQE(fPreQE);
697 }
698 comp->SetPhotonTrackInfo(trackinf);
699 aSecondaryTrack->SetUserInformation(comp);
///
/// parentage
704
705 aSecondaryTrack->SetParentID(aTrack.GetTrackID());
706
707 // add the secondary to the ParticleChange object
708 aParticleChange.SetSecondaryWeightByProcess( true ); // recommended
709 aParticleChange.AddSecondary(aSecondaryTrack);