k4SimGeant4
Loading...
Searching...
No Matches
FastSimModelTracker.h
Go to the documentation of this file.
1#ifndef SIMG4FAST_FASTSIMMODELTRACKER_H
2#define SIMG4FAST_FASTSIMMODELTRACKER_H
3
4// FCCSW
6
7// Geant
8#include "G4VFastSimulationModel.hh"
9
10// Gaudi
11#include "GaudiKernel/IMessageSvc.h"
12#include "GaudiKernel/MsgStream.h"
13#include "GaudiKernel/ServiceHandle.h"
14#include "GaudiKernel/ToolHandle.h"
15
16class IToolSvc;
17
36namespace sim {
37class FastSimModelTracker : public G4VFastSimulationModel {
38public:
49 explicit FastSimModelTracker(const std::string& aModelName, G4Region* aEnvelope,
50 ToolHandle<ISimG4ParticleSmearTool>& aSmearTool, double aMinMomentum,
51 double aMaxMomentum, double aMaxEta);
55 explicit FastSimModelTracker(const std::string& aModelName, ToolHandle<ISimG4ParticleSmearTool>& aSmearTool);
56 virtual ~FastSimModelTracker();
60 virtual G4bool IsApplicable(const G4ParticleDefinition& aParticle) final;
64 virtual G4bool ModelTrigger(const G4FastTrack& aFastTrack) final;
71 virtual void DoIt(const G4FastTrack& aFastTrack, G4FastStep& aFastStep) final;
72
73private:
75 ServiceHandle<IMessageSvc> m_msgSvc;
77 MsgStream m_log;
79 ToolHandle<ISimG4ParticleSmearTool>& m_smearTool;
86};
87}
88
89#endif /* SIMG4FAST_FASTSIMMODELTRACKER_H */
Interface to the particle smearing tool.
Definition ISimG4ParticleSmearTool.h:20
Definition FastSimModelTracker.h:37
ToolHandle< ISimG4ParticleSmearTool > & m_smearTool
Pointer to a smearing tool.
Definition FastSimModelTracker.h:79
MsgStream m_log
Message Stream.
Definition FastSimModelTracker.h:77
FastSimModelTracker(const std::string &aModelName, G4Region *aEnvelope, ToolHandle< ISimG4ParticleSmearTool > &aSmearTool, double aMinMomentum, double aMaxMomentum, double aMaxEta)
Constructor.
Definition FastSimModelTracker.cpp:20
double m_maxTriggerMomentum
maximum P that triggers model
Definition FastSimModelTracker.h:83
double m_minTriggerMomentum
minimum P that triggers model
Definition FastSimModelTracker.h:81
ServiceHandle< IMessageSvc > m_msgSvc
Message Service.
Definition FastSimModelTracker.h:75
virtual G4bool ModelTrigger(const G4FastTrack &aFastTrack) final
Check if the model should be applied taking into account the kinematics of a track.
Definition FastSimModelTracker.cpp:53
double m_maxTriggerEta
maximum eta that triggers model
Definition FastSimModelTracker.h:85
virtual G4bool IsApplicable(const G4ParticleDefinition &aParticle) final
Check if this model should be applied to this particle type.
Definition FastSimModelTracker.cpp:49
virtual ~FastSimModelTracker()
Definition FastSimModelTracker.cpp:47
virtual void DoIt(const G4FastTrack &aFastTrack, G4FastStep &aFastStep) final
Apply the parametrisation.
Definition FastSimModelTracker.cpp:75
Conversion between units.
Definition ConstantField.h:14