Belle II Software development
ExtMagFieldLimitProcess.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#ifndef EXTMAGFIELDLIMITPROCESS_H_
10#define EXTMAGFIELDLIMITPROCESS_H_
11
12#include <globals.hh>
13#include "G4VDiscreteProcess.hh"
14
15class G4Track;
16class G4Field;
17
18namespace Belle2 {
24 namespace Simulation {
25
27 class ExtMagFieldLimitProcess: public G4VDiscreteProcess {
28
29 public:
30
32 explicit ExtMagFieldLimitProcess(const G4String& processName = "ExtMagFieldLimitProcess");
33
36
38 G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
39
41 G4double PostStepGetPhysicalInteractionLength(const G4Track&, G4double, G4ForceCondition*);
42
44 G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*);
45
47 G4double GetStepLimit() const { return m_stepLimit; }
48
50 void SetStepLimit(G4double val) { m_stepLimit = val; }
51
52 protected:
53
55 const G4Field* m_field;
56
58 G4double m_stepLimit;
59
60 };
61
62 } //end namespace Simulation
63
65} //end Belle2 namespace
66
67#endif /* EXTMAGFIELDLIMITPROCESS_H_ */
Defines the physics process that avoids hit invocation in sensitive volumes.
G4double GetStepLimit() const
Returns the step limit.
const G4Field * m_field
Stores the pointer to the magnetic field class.
G4double GetMeanFreePath(const G4Track &, G4double, G4ForceCondition *)
Returns the mean free path (always infinity!) after each step.
void SetStepLimit(G4double val)
Sets the step limit.
G4double PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)
Returns the step length after each step.
G4VParticleChange * PostStepDoIt(const G4Track &, const G4Step &)
Do nothing special after the particle has stepped.
Abstract base class for different kinds of events.