Import Geant4 11.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2023-12-08 10:43:34 +01:00
parent dd1f179cda
commit 860a2b92bf
3962 changed files with 139318 additions and 164259 deletions
@@ -27,10 +27,10 @@
#ifndef G4FASTSIMHITMAKER_HH
#define G4FASTSIMHITMAKER_HH
#include "G4TouchableHandle.hh"
#include "G4Navigator.hh"
#include "G4FastHit.hh"
#include "G4FastTrack.hh"
#include "G4Navigator.hh"
#include "G4TouchableHandle.hh"
class G4Step;
class G4StepPoint;
class G4VProcess;
@@ -40,7 +40,7 @@ class G4VProcess;
*
* Helper class that can be employed in the fast simulation models.
* It allows to deposit energy at given position (G4FastHit), provided it is
* located within the sensitive detector that derives from
* located within the sensitive detector that derives from
* G4VFastSimSensitiveDetector base class.
* An extended example extended/parameterisations/Par03 demonstrates how to use
* G4FastSimHitMaker to create multiple deposits from the fast simulation model.
@@ -49,38 +49,35 @@ class G4VProcess;
class G4FastSimHitMaker
{
public:
G4FastSimHitMaker();
~G4FastSimHitMaker();
public:
G4FastSimHitMaker();
~G4FastSimHitMaker();
/// Deposit energy at given position.
/// @param[in] aHit Created hit (energy and position)
/// @param[in] aTrack Fast track with access to particle's track and
/// properties in envelope's local coordinates
void make(const G4FastHit& aHit, const G4FastTrack& aTrack);
/// If sensitive detector class is in the parallel world, it must be
/// specified, otherwise no sensitive detector will be found (mass geometry
/// will be checked).
/// @param[in] aName Name of the parallel world
inline void SetNameOfWorldWithSD(const G4String& aName)
{
fWorldWithSdName = aName;
};
inline void SetProcess(G4VProcess* proc) { fpProcess = proc; }
/// Deposit energy at given position.
/// @param[in] aHit Created hit (energy and position)
/// @param[in] aTrack Fast track with access to particle's track and
/// properties in envelope's local coordinates
void make(const G4FastHit& aHit, const G4FastTrack& aTrack);
/// If sensitive detector class is in the parallel world, it must be
/// specified, otherwise no sensitive detector will be found (mass geometry
/// will be checked).
/// @param[in] aName Name of the parallel world
inline void SetNameOfWorldWithSD(const G4String& aName) { fWorldWithSdName = aName; };
inline void SetProcess(G4VProcess* proc) { fpProcess = proc; }
private:
/// Touchable
G4TouchableHandle fTouchableHandle;
/// Navigator
G4Navigator* fpNavigator;
/// Flag specifying if navigator has been already set up
G4bool fNaviSetup;
/// Name of the world containing the sensitive detector. If empty, default
/// mass world is used.
G4String fWorldWithSdName;
private:
/// Touchable
G4TouchableHandle fTouchableHandle;
/// Navigator
G4Navigator* fpNavigator;
/// Flag specifying if navigator has been already set up
G4bool fNaviSetup;
/// Name of the world containing the sensitive detector. If empty, default
/// mass world is used.
G4String fWorldWithSdName;
G4Step* fpSpotS;
G4StepPoint* fpSpotP;
G4VProcess* fpProcess = nullptr;
G4Step* fpSpotS;
G4StepPoint* fpSpotP;
G4VProcess* fpProcess = nullptr;
};
#endif