ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ts_scorers.cc File Reference

Main of the ThreadsafeScorers example. More...

#include "G4Types.hh"
#include "G4RunManager.hh"
#include "Randomize.hh"
#include "TSDetectorConstruction.hh"
#include "TSPhysicsList.hh"
#include "TSActionInitialization.hh"
#include "G4UImanager.hh"
#include "G4VisExecutive.hh"
#include "G4UIExecutive.hh"
#include "G4TiMemory.hh"
#include <cstdlib>
+ Include dependency graph for ts_scorers.cc:

Go to the source code of this file.

Typedefs

typedef G4RunManager RunManager
 

Functions

void message (RunManager *runmanager)
 
int main (int argc, char **argv)
 

Detailed Description

Main of the ThreadsafeScorers example.

Definition in file ts_scorers.cc.

Typedef Documentation

ts_scorers example shows how to use global scorers. The benefit of using global scorers in memory-savings for problems with very large amounts of scoring volumes. Additionally, the global scorers are more precise w.r.t. the serial solution because of the lack of compounding round-off error from multiple threads

In this example, the global scorers are implemented as static member variables in TSRun because TSRun is thread-local. The G4atomic class is the core of the thread-safe scorers and can be uses

Definition at line 54 of file ts_scorers.cc.

View newest version in sPHENIX GitHub at line 54 of file ts_scorers.cc

Function Documentation

int main ( int  argc,
char **  argv 
)

Definition at line 90 of file ts_scorers.cc.

View newest version in sPHENIX GitHub at line 90 of file ts_scorers.cc

References G4UImanager::ApplyCommand(), G4UImanager::GetUIpointer(), G4RunManager::Initialize(), G4VisManager::Initialize(), message(), G4UIExecutive::SessionStart(), CLHEP::HepRandom::setTheSeed(), G4RunManager::SetUserInitialization(), and TIMEMORY_INIT.

+ Here is the call graph for this function:

void message ( RunManager runmanager)

Definition at line 74 of file ts_scorers.cc.

View newest version in sPHENIX GitHub at line 74 of file ts_scorers.cc

References G4cout, G4endl, G4Threading::G4GetNumberOfCores(), G4RunManager::GetVerboseLevel(), and G4RunManager::SetVerboseLevel().

Referenced by G4MagInt_Driver::AccurateAdvance(), G4ITTransportationManager::ActivateNavigator(), G4TransportationManager::ActivateNavigator(), G4LogicalVolume::AddDaughter(), G4NavigationLogger::AlongComputeStepLog(), G4Transportation::AlongStepGetPhysicalInteractionLength(), G4CoupledTransportation::AlongStepGetPhysicalInteractionLength(), G4INCLXXInterface::ApplyYourself(), G4ChordFinder::ApproxCurvePointV(), G4ScaledSolid::BoundingLimits(), G4ReflectedSolid::BoundingLimits(), G4Box::BoundingLimits(), G4DisplacedSolid::BoundingLimits(), G4Orb::BoundingLimits(), G4IntersectionSolid::BoundingLimits(), G4UnionSolid::BoundingLimits(), G4SubtractionSolid::BoundingLimits(), G4GenericPolycone::BoundingLimits(), G4Hype::BoundingLimits(), G4Paraboloid::BoundingLimits(), G4TwistedTubs::BoundingLimits(), G4Polycone::BoundingLimits(), G4Polyhedra::BoundingLimits(), G4CutTubs::BoundingLimits(), G4VSolid::BoundingLimits(), G4Trd::BoundingLimits(), G4GenericTrap::BoundingLimits(), G4EllipticalCone::BoundingLimits(), G4Para::BoundingLimits(), G4Tubs::BoundingLimits(), G4Torus::BoundingLimits(), G4Cons::BoundingLimits(), G4ExtrudedSolid::BoundingLimits(), G4Sphere::BoundingLimits(), G4TessellatedSolid::BoundingLimits(), G4Trap::BoundingLimits(), G4LENDBertiniGammaElectroNuclearBuilder::Build(), G4ErrorTrajState::BuildCharge(), G4SmartVoxelHeader::BuildNodes(), G4GeometryManager::BuildOptimisations(), G4SmartVoxelHeader::BuildReplicaVoxels(), G4GenericPolycone::CalculateExtent(), G4Polycone::CalculateExtent(), G4Polyhedra::CalculateExtent(), G4ExtrudedSolid::CalculateExtent(), G4NavigationLogger::CheckAndReportBadNormal(), G4PVDivision::CheckAndSetParameters(), G4ReplicatedSlice::CheckAndSetParameters(), G4BoundingEnvelope::CheckBoundingBox(), G4BoundingEnvelope::CheckBoundingPolygons(), G4PartialPhantomParameterisation::CheckCopyNo(), G4PhantomParameterisation::CheckCopyNo(), DicomHandler::CheckFileFormat(), G4ErrorPropagator::CheckIfLastStep(), G4VDivisionParameterisation::CheckNDivAndWidth(), G4VDivisionParameterisation::CheckOffset(), G4PVReplica::CheckOnlyDaughter(), G4GenericTrap::CheckOrder(), G4PVParameterised::CheckOverlaps(), G4PVPlacement::CheckOverlaps(), G4EllipticalTube::CheckParameters(), G4Ellipsoid::CheckParameters(), G4Trd::CheckParameters(), G4Para::CheckParameters(), G4Trap::CheckParameters(), G4ParameterisationPolyconeRho::CheckParametersValidity(), G4ParameterisationPolyhedraRho::CheckParametersValidity(), G4ParameterisationTrdY::CheckParametersValidity(), G4ParameterisationPolyhedraPhi::CheckParametersValidity(), G4ParameterisationPolyconeZ::CheckParametersValidity(), G4ParameterisationPolyhedraZ::CheckParametersValidity(), G4ReflectionFactory::CheckScale(), G4PhantomParameterisation::CheckVoxelsFillContainer(), G4Region::ClearFastSimulationManager(), G4VSolid::Clone(), G4VSolid::ComputeDimensions(), G4GenericTrap::ComputeIsTwisted(), G4VoxelSafety::ComputeSafety(), G4VoxelNavigation::ComputeSafety(), G4PropagatorInField::ComputeStep(), G4PathFinder::ComputeStep(), G4ParameterisedNavigation::ComputeStep(), G4Navigator::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4ITNavigator1::ComputeStep(), G4ITNavigator2::ComputeStep(), G4ITPathFinder::ComputeStep(), G4ITNavigator1::ComputeStepLog(), G4Navigator::ComputeStepLog(), G4ITNavigator2::ComputeStepLog(), G4RegularNavigation::ComputeStepSkippingEqualMaterials(), G4ParameterisationBoxX::ComputeTransformation(), G4ParameterisationTrdX::ComputeTransformation(), G4ParameterisationBoxY::ComputeTransformation(), G4ParameterisationTrdY::ComputeTransformation(), G4ParameterisationBoxZ::ComputeTransformation(), G4ParameterisationTrdZ::ComputeTransformation(), PHG4FullProjTiltedSpacalDetector::Construct_Tower(), PHG4FullProjSpacalDetector::Construct_Tower(), G4EmExtraPhysics::ConstructLENDGammaNuclear(), G4GenericPolycone::Create(), G4Polycone::Create(), G4Polyhedra::Create(), G4Hdf5FileManager::CreateDirectory(), G4GenericPolycone::CreatePolyhedron(), G4ReflectedSolid::CreatePolyhedron(), G4Polyhedra::CreatePolyhedron(), G4ReflectionFactory::CreateReflectedLV(), G4ITTransportationManager::DeActivateNavigator(), G4TransportationManager::DeActivateNavigator(), G4ITTransportationManager::DeRegisterNavigator(), G4TransportationManager::DeRegisterNavigator(), G4ITTransportationManager::DeRegisterWorld(), G4TransportationManager::DeRegisterWorld(), G4VTwistSurface::DistanceToBoundary(), G4SubtractionSolid::DistanceToIn(), G4Paraboloid::DistanceToIn(), G4TessellatedSolid::DistanceToIn(), G4TessellatedSolid::DistanceToInNoVoxels(), G4EllipticalTube::DistanceToOut(), G4Box::DistanceToOut(), G4Orb::DistanceToOut(), G4Ellipsoid::DistanceToOut(), G4Paraboloid::DistanceToOut(), G4GenericTrap::DistanceToOut(), G4CutTubs::DistanceToOut(), G4Trd::DistanceToOut(), G4EllipticalCone::DistanceToOut(), G4Tubs::DistanceToOut(), G4Torus::DistanceToOut(), G4Para::DistanceToOut(), G4Cons::DistanceToOut(), G4Sphere::DistanceToOut(), G4TessellatedSolid::DistanceToOut(), G4Trap::DistanceToOut(), G4TessellatedSolid::DistanceToOutNoVoxels(), G4TwistTubsSide::DistanceToSurface(), G4PathFinder::DoNextCurvedStep(), G4ITPathFinder::DoNextCurvedStep(), G4GDMLErrorHandler::error(), G4ErrorMatrix::error(), G4SimpleLocator::EstimateIntersectionPoint(), G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), pyG4Exception::f2_G4Exception(), G4CompositeDataSet::FindValue(), G4RDCompositeEMDataSet::FindValue(), G4CompositeEMDataSet::FindValue(), G4AssemblyVolume::G4AssemblyVolume(), G4Box::G4Box(), G4ChordFinder::G4ChordFinder(), G4Cons::G4Cons(), G4ConstRK4::G4ConstRK4(), G4CutTubs::G4CutTubs(), G4EllipticalCone::G4EllipticalCone(), G4Exception(), G4ExtrudedSolid::G4ExtrudedSolid(), G4GenericTrap::G4GenericTrap(), G4Hdf5AnalysisManager::G4Hdf5AnalysisManager(), G4Hype::G4Hype(), G4INCLXXInterface::G4INCLXXInterface(), G4Para::G4Para(), G4Paraboloid::G4Paraboloid(), G4ParameterisationConsRho::G4ParameterisationConsRho(), G4ParticleHPInelastic::G4ParticleHPInelastic(), G4ParticleHPInelasticData::G4ParticleHPInelasticData(), G4Polycone::G4Polycone(), G4Polyhedra::G4Polyhedra(), G4PVDivision::G4PVDivision(), G4PVParameterised::G4PVParameterised(), G4PVReplica::G4PVReplica(), G4QuadrangularFacet::G4QuadrangularFacet(), G4Region::G4Region(), G4Sphere::G4Sphere(), G4Tet::G4Tet(), G4Trap::G4Trap(), G4TriangularFacet::G4TriangularFacet(), G4Tubs::G4Tubs(), G4TwistBoxSide::G4TwistBoxSide(), G4TwistedTubs::G4TwistedTubs(), G4VParameterisationPolycone::G4VParameterisationPolycone(), G4VParameterisationPolyhedra::G4VParameterisationPolyhedra(), G4VTwistedFaceted::G4VTwistedFaceted(), G4TwistTubsFlatSide::GetAreaCode(), G4TwistTubsHypeSide::GetAreaCode(), G4AssemblyStore::GetAssembly(), G4VTwistSurface::GetBoundaryAtPZ(), G4VTwistSurface::GetBoundaryAxis(), G4VTwistSurface::GetBoundaryLimit(), G4VTwistSurface::GetBoundaryParameters(), G4VTwistSurface::Boundary::GetBoundaryParameters(), G4UnitDefinition::GetCategory(), G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint(), G4VTwistSurface::GetEdgeVisibility(), G4VTwistSurface::GetFace(), G4MultiNavigator::GetGlobalExitNormal(), G4ITMultiNavigator::GetGlobalExitNormal(), G4Navigator::GetGlobalExitNormal(), G4ITNavigator2::GetGlobalExitNormal(), G4VIntersectionLocator::GetGlobalSurfaceNormal(), G4LENDCrossSection::GetIsoCrossSection(), G4MultiNavigator::GetLocalExitNormal(), G4ITMultiNavigator::GetLocalExitNormal(), G4Navigator::GetLocalExitNormal(), G4ITNavigator1::GetLocalExitNormal(), G4ITNavigator2::GetLocalExitNormal(), G4ScoreLogColorMap::GetMapColor(), G4LogicalVolume::GetMass(), G4ITTransportationManager::GetNavigator(), G4TransportationManager::GetNavigator(), G4VTwistSurface::GetNode(), G4BooleanSolid::GetPointOnSurface(), G4VSolid::GetPointOnSurface(), G4MaterialPropertiesTable::GetPropertiesCMap(), G4MaterialPropertiesTable::GetPropertiesMap(), G4ReflectionFactory::GetPVDivisionFactory(), G4RegionStore::GetRegion(), G4PartialPhantomParameterisation::GetReplicaNo(), G4PhantomParameterisation::GetReplicaNo(), G4GDMLReadSetup::GetSetup(), G4tgrSolidBoolean::GetSolid(), G4SolidStore::GetSolid(), G4VIntersectionLocator::GetSurfaceNormal(), G4ErrorCylSurfaceTarget::GetTangentPlane(), G4UnitDefinition::GetValueOf(), G4LogicalVolumeStore::GetVolume(), G4PhysicalVolumeStore::GetVolume(), G4ParticleHPIsoData::Init(), G4ErrorPropagator::InitFreeTrajState(), G4ErrorPropagator::InitG4Track(), G4ErrorPropagatorManager::InitGeant4e(), G4ErrorRunManagerHelper::InitializePhysics(), G4TessellatedSolid::InsideNoVoxels(), G4TessellatedSolid::InsideVoxels(), G4ErrorCylSurfaceTarget::IntersectLocal(), G4ErrorSymMatrix::invertBunchKaufman(), G4RDShellEMDataSet::LoadData(), G4MicroElecCrossSectionDataSet::LoadData(), G4MuElecCrossSectionDataSet::LoadData(), G4DataSet::LoadData(), G4RDEMDataSet::LoadData(), G4ShellEMDataSet::LoadData(), G4CrossSectionDataSet::LoadData(), G4DNACrossSectionDataSet::LoadData(), G4EMDataSet::LoadData(), G4MicroElecCrossSectionDataSet::LoadNonLogData(), G4MuElecCrossSectionDataSet::LoadNonLogData(), G4ShellEMDataSet::LoadNonLogData(), G4CrossSectionDataSet::LoadNonLogData(), G4DNACrossSectionDataSet::LoadNonLogData(), G4EMDataSet::LoadNonLogData(), G4VIntersectionLocator::LocateGlobalPointWithinVolumeAndCheck(), G4VIntersectionLocator::LocateGlobalPointWithinVolumeCheckAndReport(), main(), G4GenericTrap::MakeDownFacet(), G4ErrorPropagator::MakeOneStep(), G4Trap::MakePlanes(), G4GenericTrap::MakeUpFacet(), G4TessellatedSolid::Normal(), PyG4ExceptionHandler::Notify(), G4ExceptionHandler::Notify(), G4MultiNavigator::ObtainFinalStep(), G4ITMultiNavigator::ObtainFinalStep(), G4MagInt_Driver::OneGoodStep(), G4NavigationLogger::PostComputeStepLog(), G4NavigationLogger::PreComputeStepLog(), G4MultiNavigator::PrepareNavigators(), G4ITMultiNavigator::PrepareNavigators(), G4PathFinder::PrepareNewTrack(), G4ITPathFinder::PrepareNewTrack(), G4INCL::InterpolationNode::print(), G4INCL::InterpolationTable::print(), G4ErrorPropagator::Propagate(), G4ErrorTrajState::PropagateError(), G4ErrorPropagator::PropagateOneStep(), G4GDMLRead::Read(), G4VIntersectionLocator::ReEstimateEndpoint(), G4ReflectionFactory::ReflectPVParameterised(), G4PathFinder::ReLocate(), G4ITPathFinder::ReLocate(), G4CoupledTransportation::ReportInexactEnergy(), G4PropagatorInField::ReportLoopingParticle(), G4Transportation::ReportMissingLogger(), G4CoupledTransportation::ReportMissingLogger(), G4PathFinder::ReportMove(), G4ITPathFinder::ReportMove(), G4PropagatorInField::ReportStuckParticle(), G4VIntersectionLocator::ReportTrialStep(), G4GenericPolycone::Reset(), G4Polyhedra::Reset(), G4LENDModel::returnUnchanged(), G4TessellatedSolid::SafetyFromInside(), G4TessellatedSolid::SafetyFromOutside(), G4RDCompositeEMDataSet::SaveData(), G4RDShellEMDataSet::SaveData(), G4MicroElecCrossSectionDataSet::SaveData(), G4MuElecCrossSectionDataSet::SaveData(), G4DataSet::SaveData(), G4CompositeDataSet::SaveData(), G4RDEMDataSet::SaveData(), G4ShellEMDataSet::SaveData(), G4CompositeEMDataSet::SaveData(), G4DNACrossSectionDataSet::SaveData(), G4CrossSectionDataSet::SaveData(), G4EMDataSet::SaveData(), G4Region::ScanVolumeTree(), G4ZMQServer::SessionStart(), G4Torus::SetAllParameters(), G4TwistTrapFlatSide::SetBoundaries(), G4TwistTubsFlatSide::SetBoundaries(), G4TwistTubsHypeSide::SetBoundaries(), G4TwistTubsSide::SetBoundaries(), G4VTwistSurface::SetBoundary(), G4VTwistSurface::SetCorner(), G4TwistTrapFlatSide::SetCorners(), G4TwistTubsFlatSide::SetCorners(), G4TwistTubsHypeSide::SetCorners(), G4TwistTubsSide::SetCorners(), G4MuElecCrossSectionDataSet::SetEnergiesData(), G4MicroElecCrossSectionDataSet::SetEnergiesData(), G4RDCompositeEMDataSet::SetEnergiesData(), G4RDShellEMDataSet::SetEnergiesData(), G4CompositeEMDataSet::SetEnergiesData(), G4CompositeDataSet::SetEnergiesData(), G4CrossSectionDataSet::SetEnergiesData(), G4DNACrossSectionDataSet::SetEnergiesData(), G4PixeShellDataSet::SetEnergiesData(), G4MaterialPropertiesTable::SetGROUPVEL(), G4INCLXXInterfaceStore::SetINCLPhysics(), G4MuElecCrossSectionDataSet::SetLogEnergiesData(), G4MicroElecCrossSectionDataSet::SetLogEnergiesData(), G4CompositeEMDataSet::SetLogEnergiesData(), G4CrossSectionDataSet::SetLogEnergiesData(), G4DNACrossSectionDataSet::SetLogEnergiesData(), G4VScoringMesh::SetNumberOfSegments(), G4Polycone::SetOriginalParameters(), G4Polyhedra::SetOriginalParameters(), G4PVDivision::SetParameterisation(), G4ReplicatedSlice::SetParameterisation(), G4VScoringMesh::SetSize(), G4MagInt_Driver::SetSmallestFraction(), G4TBMagneticFieldSetup::SetStepper(), G4Tet::SetVertices(), G4Box::SetXHalfLength(), G4Box::SetYHalfLength(), G4Box::SetZHalfLength(), smr_vallocateFormatMessage(), G4BooleanSolid::StackPolyhedron(), G4INCL::Config::summary(), G4EllipticalTube::SurfaceNormal(), G4UnionSolid::SurfaceNormal(), G4Box::SurfaceNormal(), G4Paraboloid::SurfaceNormal(), G4Ellipsoid::SurfaceNormal(), G4Tet::SurfaceNormal(), G4Trd::SurfaceNormal(), G4ExtrudedSolid::SurfaceNormal(), G4EllipticalCone::SurfaceNormal(), G4Para::SurfaceNormal(), G4Trap::SurfaceNormal(), G4ITTrackingInteractivity::TrackBanner(), G4VITSteppingVerbose::TrackBanner(), G4MagInt_Driver::WarnEndPointTooFar(), G4GDMLErrorHandler::warning(), G4MagInt_Driver::WarnSmallStepSize(), G4MagInt_Driver::WarnTooManyStep(), G4GDMLWrite::Write(), PHG4GDMLWrite::Write(), G4Hdf5FileManager::WriteDirectory(), and XML_ErrorString().

+ Here is the call graph for this function: