Import Geant4 11.0.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2021-06-25 16:12:29 +02:00
parent c968e26a39
commit 6399a014b6
4200 changed files with 207479 additions and 237366 deletions
@@ -23,64 +23,63 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// G4VUserDetectorConstruction
//
// Class description:
//
// This is the abstract base class for the user's mandatory initialization
// of the detector setup. It has only one pure virtual method Construct()
// which is invoked by G4RunManager when its Initialize() method is invoked.
// The Construct() method must return the G4VPhysicalVolume pointer which
// represents the world volume.
#ifndef G4VUserDetectorConstruction_h
#define G4VUserDetectorConstruction_h 1
// Original author: M.Asai, 1999
// --------------------------------------------------------------------
#ifndef G4VUserDetectorConstruction_hh
#define G4VUserDetectorConstruction_hh 1
#include <vector>
#include "globals.hh"
class G4VPhysicalVolume;
class G4LogicalVolume;
class G4VUserParallelWorld;
class G4VSensitiveDetector;
#include "globals.hh"
#include <vector>
// class description:
//
// This is the abstract base class of the user's mandatory initialization class
// for detector setup. It has only one pure virtual method Construct() which is
// invoked by G4RunManager when it's Initialize() method is invoked.
// The Construct() method must return the G4VPhysicalVolume pointer which
// represents
// the world volume.
//
class G4VUserDetectorConstruction
{
public:
G4VUserDetectorConstruction();
virtual ~G4VUserDetectorConstruction();
public:
public:
virtual G4VPhysicalVolume* Construct() = 0;
G4VUserDetectorConstruction();
virtual ~G4VUserDetectorConstruction();
virtual void ConstructSDandField();
// This method is used in multi-threaded applications to build
// per-worker non-shared objects: SensitiveDetectors and Field managers
virtual G4VPhysicalVolume* Construct() = 0;
virtual void CloneSD();
virtual void CloneF();
virtual void ConstructSDandField();
// This method is used in multi-threaded applications to build
// per-worker non-shared objects: SensitiveDetectors and Field managers.
public:
void RegisterParallelWorld(G4VUserParallelWorld*);
virtual void CloneSD();
virtual void CloneF();
public:
G4int ConstructParallelGeometries();
void ConstructParallelSD();
void RegisterParallelWorld(G4VUserParallelWorld*);
private:
std::vector<G4VUserParallelWorld*> parallelWorld;
G4int ConstructParallelGeometries();
void ConstructParallelSD();
public:
G4int GetNumberOfParallelWorld() const;
G4VUserParallelWorld* GetParallelWorld(G4int i) const;
G4int GetNumberOfParallelWorld() const;
G4VUserParallelWorld* GetParallelWorld(G4int i) const;
protected:
void SetSensitiveDetector(const G4String& logVolName,
G4VSensitiveDetector* aSD, G4bool multi = false);
void SetSensitiveDetector(G4LogicalVolume* logVol, G4VSensitiveDetector* aSD);
protected:
void SetSensitiveDetector(const G4String& logVolName,
G4VSensitiveDetector* aSD, G4bool multi = false);
void SetSensitiveDetector(G4LogicalVolume* logVol,
G4VSensitiveDetector* aSD);
private:
std::vector<G4VUserParallelWorld*> parallelWorld;
};
#endif