Import Geant4 11.4.0 source tree
This commit is contained in:
@@ -23,12 +23,9 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file parallel/ThreadsafeScorers/include/G4TAtomicHitsCollection.hh
|
||||
/// \file G4TAtomicHitsCollection.hh
|
||||
/// \brief Definition of the G4TAtomicHitsCollection class
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
///
|
||||
/// This is an implementation of G4THitsCollection<T> where the underlying
|
||||
/// type is G4atomic<T>, not just T. A static assert is provided to
|
||||
/// ensure that T is fundamental. This class should be used in lieu
|
||||
@@ -55,15 +52,15 @@
|
||||
#include <deque>
|
||||
#include <type_traits>
|
||||
|
||||
// class description:
|
||||
//
|
||||
// This is a template class of hits collection and parametrized by
|
||||
// The concrete class of G4VHit. This is a uniform collection for
|
||||
// a particular concrete hit class objects.
|
||||
// An intermediate layer class G4HitsCollection appeared in this
|
||||
// header file is used just for G4Allocator, because G4Allocator
|
||||
// cannot be instansiated with a template class. Thus G4HitsCollection
|
||||
// class MUST NOT be directly used by the user.
|
||||
/// class description:
|
||||
///
|
||||
/// This is a template class of hits collection and parametrized by
|
||||
/// The concrete class of G4VHit. This is a uniform collection for
|
||||
/// a particular concrete hit class objects.
|
||||
/// An intermediate layer class G4HitsCollection appeared in this
|
||||
/// header file is used just for G4Allocator, because G4Allocator
|
||||
/// cannot be instansiated with a template class. Thus G4HitsCollection
|
||||
/// class MUST NOT be directly used by the user.
|
||||
|
||||
/*class G4HitsCollection : public G4VHitsCollection
|
||||
{
|
||||
|
||||
@@ -23,12 +23,9 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file parallel/ThreadsafeScorers/include/G4TAtomicHitsMap.hh
|
||||
/// \file G4TAtomicHitsMap.hh
|
||||
/// \brief Definition of the G4TAtomicHitsMap class
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
///
|
||||
/// This is an implementation of G4THitsMap<T> where the underlying
|
||||
/// type is G4atomic<T>, not just T. A static assert is provided to
|
||||
/// ensure that T is fundamental. This class should be used in lieu
|
||||
@@ -55,15 +52,15 @@
|
||||
#include <map>
|
||||
#include <type_traits>
|
||||
|
||||
// class description:
|
||||
//
|
||||
// This is a template class of hits map and parametrized by
|
||||
// The concrete class of G4VHit. This is a uniform collection for
|
||||
// a particular concrete hit class objects.
|
||||
// An intermediate layer class G4HitsMap appeared in this
|
||||
// header file is used just for G4Allocator, because G4Allocator
|
||||
// cannot be instansiated with a template class. Thus G4HitsMap
|
||||
// class MUST NOT be directly used by the user.
|
||||
/// class description:
|
||||
///
|
||||
/// This is a template class of hits map and parametrized by
|
||||
/// The concrete class of G4VHit. This is a uniform collection for
|
||||
/// a particular concrete hit class objects.
|
||||
/// An intermediate layer class G4HitsMap appeared in this
|
||||
/// header file is used just for G4Allocator, because G4Allocator
|
||||
/// cannot be instansiated with a template class. Thus G4HitsMap
|
||||
/// class MUST NOT be directly used by the user.
|
||||
|
||||
template<typename T>
|
||||
class G4TAtomicHitsMap : public G4VHitsCollection
|
||||
|
||||
@@ -23,12 +23,9 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file parallel/ThreadsafeScorers/include/G4atomic.hh
|
||||
/// \file G4atomic.hh
|
||||
/// \brief Definition of the G4atomic class
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
///
|
||||
/// This is an friendly implementation of the STL atomic class.
|
||||
/// This class has the same interface as the STL atomic but can be used
|
||||
/// in an extremely similar fashion to plain old data (POD) types.
|
||||
@@ -41,6 +38,7 @@
|
||||
/// only used as a RHS term outside of the multithreaded operations on it.
|
||||
///
|
||||
/// FOR EXAMPLE:
|
||||
/// ```
|
||||
/// Proper use:
|
||||
/// Goal: sum energy deposited in run
|
||||
/// Impl: Is a member variable of derived
|
||||
@@ -59,6 +57,7 @@
|
||||
/// sum, sum_sq, and counts are updated by another thread
|
||||
/// while error is being calculated, i.e. they are used as
|
||||
/// RHS terms
|
||||
/// ```
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -23,12 +23,9 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file parallel/ThreadsafeScorers/include/G4atomic_defines.hh
|
||||
/// \brief Definition of the G4atomic_defines class
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
/// \file G4atomic_defines.hh
|
||||
/// \brief Definition of the atomics utilities
|
||||
///
|
||||
/// This is a functional class for G4atomic. The functions in this
|
||||
/// file are not intended to be used outside of their implementation
|
||||
/// in G4atomic.
|
||||
|
||||
@@ -23,12 +23,9 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file parallel/ThreadsafeScorers/include/TSActionInitialization.hh
|
||||
/// \file TSActionInitialization.hh
|
||||
/// \brief Definition of the TSActionInitialization class
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
///
|
||||
/// Standard ActionInitialization class creating a RunAction instance for the
|
||||
/// master thread and RunAction and PrimaryGeneratorAction instances for
|
||||
/// the worker threads
|
||||
|
||||
@@ -23,12 +23,9 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file parallel/ThreadsafeScorers/include/TSDetectorConstruction.hh
|
||||
/// \file TSDetectorConstruction.hh
|
||||
/// \brief Definition of the TSDetectorConstruction class
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
///
|
||||
/// Construction of a target material (default = boron) surrounded by a
|
||||
/// casing material (default = water) and a vacuum world (default =
|
||||
/// target and casing fill world). The target + casing is brick
|
||||
@@ -36,12 +33,14 @@
|
||||
/// in each dimension. The end sections in each dimension
|
||||
/// is set to the casing. So a fTargetSections = G4ThreeVector(3, 3, 3)
|
||||
/// would be one section of boron and 8 sections of water.
|
||||
///
|
||||
/// The idea behind this geometry is just to create a simple geometry that
|
||||
/// scatters and produces a lot neutrons with a minimal number of sections
|
||||
/// (i.e. coarse meshing) such that the contention in operating on
|
||||
/// the atomic hits maps is higher and round-off errors in the
|
||||
/// thread-local hits maps are detectable (printed out in TSRunAction)
|
||||
/// from the sheer number of floating point sum operations.
|
||||
///
|
||||
/// Two scorers are implemented: EnergyDeposit and Number of steps
|
||||
/// The energy deposit is to (possibly) show the round-off error seen
|
||||
/// with thread-local hits maps. The # of steps scorer is to verify
|
||||
|
||||
@@ -23,12 +23,9 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file parallel/ThreadsafeScorers/include/TSPhysicsList.hh
|
||||
/// \file TSPhysicsList.hh
|
||||
/// \brief Definition of the TSPhysicsList class
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
///
|
||||
/// This is a very, very extensive physics list and step-limiters are applied
|
||||
/// to many particles. The reasoning behind this is because we wan't to put
|
||||
/// as much pressure on the atomics as possible and produce as much
|
||||
|
||||
@@ -23,12 +23,9 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file parallel/ThreadsafeScorers/include/TSPrimaryGeneratorAction.hh
|
||||
/// \file TSPrimaryGeneratorAction.hh
|
||||
/// \brief Definition of the TSPrimaryGeneratorAction class
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
///
|
||||
/// Simple PrimaryGeneratorAction that produces a -Z surface flux of 1 MeV
|
||||
/// neutrons into the world
|
||||
//
|
||||
|
||||
@@ -23,12 +23,9 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file parallel/ThreadsafeScorers/include/TSRun.hh
|
||||
/// \file TSRun.hh
|
||||
/// \brief Definition of the TSRun class
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
///
|
||||
/// TSRun contains three collections of hits maps: a thread-local hits map,
|
||||
/// a global atomic hits map (implemented as a static since TSRun is
|
||||
/// implemented as a thread-local instance), and a global "mutex" hits map
|
||||
@@ -42,6 +39,7 @@
|
||||
/// for instance); (2) It does not need to, nor should be, summed in
|
||||
/// G4Run::Merge(); and (3) destruction -- it should only be cleared by
|
||||
/// the master thread since there is only one instance.
|
||||
///
|
||||
/// A "mutex" hits map is also included as reference for checking the results
|
||||
/// accumulated by the thread-local hits maps and atomic hits maps. The
|
||||
/// differences w.r.t. this hits maps are computed in
|
||||
|
||||
@@ -23,16 +23,8 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file parallel/ThreadsafeScorers/include/TSRunAction.hh
|
||||
/// \file TSRunAction.hh
|
||||
/// \brief Definition of the TSRunAction class
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef tsrunaction_hh
|
||||
#define tsrunaction_hh 1
|
||||
|
||||
Reference in New Issue
Block a user