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"
9 #include "G4Region.hh"
12 #include "GaudiKernel/ServiceHandle.h"
13 
15 
16 class ForwardTransportModel: public G4VFastSimulationModel {
17 
18  public:
19 
20  ForwardTransportModel(const std::string& name, G4Region* region, const int verboseLevel, const std::string& FwdTrSvcName);
21 
22  // methods being inherited from base class
23  G4bool IsApplicable(const G4ParticleDefinition&) override final { return true; } // IDLE: we do selection in DoIt method
24  G4bool ModelTrigger(const G4FastTrack&) override final { return true; } // IDLE: we do selection in DoIt method
25  void DoIt (const G4FastTrack&, G4FastStep&) override final; // Actual selection and parametrization
26 
27 private:
28  void KillPrimaryTrack(const G4FastTrack&, G4FastStep&);
29 
30  PrimaryParticleInformation* getPrimaryParticleInformation(const G4FastTrack& fastTrack) const;
31 
35  const int m_verboseLevel{0};
36 };
37 
38 #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:32
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::ForwardTransportModel
ForwardTransportModel(const std::string &name, G4Region *region, const int verboseLevel, const std::string &FwdTrSvcName)
Definition: ForwardTransportModel.cxx:26
ForwardTransportModel::IsApplicable
G4bool IsApplicable(const G4ParticleDefinition &) override final
Definition: ForwardTransportModel.h:23
ForwardTransportModel::m_verboseLevel
const int m_verboseLevel
Definition: ForwardTransportModel.h:35
ForwardTransportModel::m_fwdTrack
ForwardTrack m_fwdTrack
Definition: ForwardTransportModel.h:33
ForwardTransportModel::m_fwdParticle
ForwardTracker::Particle m_fwdParticle
Definition: ForwardTransportModel.h:34
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ForwardTransportModel::ModelTrigger
G4bool ModelTrigger(const G4FastTrack &) override final
Definition: ForwardTransportModel.h:24
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:16
ForwardTrack
Definition: ForwardTrack.h:13
ServiceHandle< IForwardTransportSvc >