ATLAS Offline Software
ForwardTransportModel.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef FORWARDTRANSPORT_FORWARD_TRANSPORT_MODEL_H
6 #define FORWARDTRANSPORT_FORWARD_TRANSPORT_MODEL_H
7 
8 #include "G4VFastSimulationModel.hh"
11 #include "GaudiKernel/ServiceHandle.h"
12 
14 
15 class ForwardTransportModel: public G4VFastSimulationModel {
16 
17  public:
18 
19  ForwardTransportModel(const std::string& name, const int verboseLevel, const std::string& FwdTrSvcName);
20 
21  // methods being inherited from base class
22  G4bool IsApplicable(const G4ParticleDefinition&) override final { return true; } // IDLE: we do selection in DoIt method
23  G4bool ModelTrigger(const G4FastTrack&) override final { return true; } // IDLE: we do selection in DoIt method
24  void DoIt (const G4FastTrack&, G4FastStep&) override final; // Actual selection and parametrization
25 
26 private:
27  void KillPrimaryTrack(const G4FastTrack&, G4FastStep&);
28 
29  PrimaryParticleInformation* getPrimaryParticleInformation(const G4FastTrack& fastTrack) const;
30 
34  const int m_verboseLevel{0};
35 };
36 
37 #endif //FORWARDTRANSPORT_FORWARD_TRANSPORT_MODEL_H
ForwardTransportModel::getPrimaryParticleInformation
PrimaryParticleInformation * getPrimaryParticleInformation(const G4FastTrack &fastTrack) const
Definition: ForwardTransportModel.cxx:49
ForwardTrack.h
IForwardTransportSvc.h
ForwardTransportModel::m_fwdSvc
ServiceHandle< IForwardTransportSvc > m_fwdSvc
Definition: ForwardTransportModel.h:31
ForwardTransportModel::DoIt
void DoIt(const G4FastTrack &, G4FastStep &) override final
Definition: ForwardTransportModel.cxx:65
ForwardTransportModel::KillPrimaryTrack
void KillPrimaryTrack(const G4FastTrack &, G4FastStep &)
Definition: ForwardTransportModel.cxx:215
ForwardTransportModel::IsApplicable
G4bool IsApplicable(const G4ParticleDefinition &) override final
Definition: ForwardTransportModel.h:22
ForwardTransportModel::m_verboseLevel
const int m_verboseLevel
Definition: ForwardTransportModel.h:34
ForwardTransportModel::m_fwdTrack
ForwardTrack m_fwdTrack
Definition: ForwardTransportModel.h:32
ForwardTransportModel::m_fwdParticle
ForwardTracker::Particle m_fwdParticle
Definition: ForwardTransportModel.h:33
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
ForwardTransportModel::ModelTrigger
G4bool ModelTrigger(const G4FastTrack &) override final
Definition: ForwardTransportModel.h:23
ForwardTransportModel::ForwardTransportModel
ForwardTransportModel(const std::string &name, const int verboseLevel, const std::string &FwdTrSvcName)
Definition: ForwardTransportModel.cxx:26
ForwardTracker::Particle
Definition: ForwardDetectors/ForwardTracker/ForwardTracker/Particle.h:17
PrimaryParticleInformation
This class is attached to G4PrimaryParticle objects as UserInformation. The member variable m_thePart...
Definition: PrimaryParticleInformation.h:39
ForwardTransportModel
Definition: ForwardTransportModel.h:15
ForwardTrack
Definition: ForwardTrack.h:13
ServiceHandle< IForwardTransportSvc >