12.07.2015 Views

Geant4 User's Guide for Application Developers - Geant4 - CERN

Geant4 User's Guide for Application Developers - Geant4 - CERN

Geant4 User's Guide for Application Developers - Geant4 - CERN

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Toolkit Fundamentals- tracks (G4Track): aTrackAllocator- stacked tracks (G4StackedTrack): aStackedTrackAllocator- primary particles (G4PrimaryParticle): aPrimaryParticleAllocator- primary vertices (G4PrimaryVertex): aPrimaryVertexAllocator- decay products (G4DecayProducts): aDecayProductsAllocator- digits collections of an event (G4DCofThisEvent): anDCoTHAllocator- digits collections (G4DigiCollection): aDCAllocator- hits collections of an event (G4HCofThisEvent): anHCoTHAllocator- hits collections (G4HitsCollection): anHCAllocator- touchable histories (G4TouchableHistory): aTouchableHistoryAllocator- trajectories (G4Trajectory): aTrajectoryAllocator- trajectory points (G4TrajectoryPoint): aTrajectoryPointAllocator- trajectory containers (G4TrajectoryContainer): aTrajectoryContainerAllocator- navigation levels (G4NavigationLevel): aNavigationLevelAllocator- navigation level nodes (G4NavigationLevelRep): aNavigLevelRepAllocator- reference-counted handles (G4ReferenceCountedHandle): aRCHAllocator- counted objects (G4CountedObject): aCountedObjectAllocator- HEPEvt primary particles (G4HEPEvtParticle): aHEPEvtParticleAllocator- electron occupancy objects(G4ElectronOccupancy): aElectronOccupancyAllocator- "rich" trajectories (G4RichTrajectory): aRichTrajectoryAllocator- "rich" trajectory points (G4RichTrajectoryPoint): aRichTrajectoryPointAllocator- "smooth" trajectories (G4SmoothTrajectory): aSmoothTrajectoryAllocator- "smooth" trajectory points (G4SmoothTrajectoryPoint): aSmoothTrajectoryPointAllocator- "ray" trajectories (G4RayTrajectory): G4RayTrajectoryAllocator- "ray" trajectory points (G4RayTrajectoryPoint): G4RayTrajectoryPointAllocatorFor each of these allocators, accessible from the global namespace, it is possible to monitor the allocation intheir memory pools or <strong>for</strong>ce them to release the allocated memory (<strong>for</strong> example at the end of a run):// Return the size of the total memory allocated <strong>for</strong> tracks//aTrackAllocator.GetAllocatedSize();// Return allocated storage <strong>for</strong> tracks to the free store//aTrackAllocator.ResetStorage();• G4ReferenceCountedHandleTemplate class acting as a smart pointer and wrapping the type to be counted. It per<strong>for</strong>ms the reference countingduring the life-time of the counted object.• G4FastVectorTemplate class defining a vector of pointers, not per<strong>for</strong>ming boundary checking.• G4PhysicsVectorDefines a physics vector which has values of energy-loss, cross-section, and other physics values of a particlein matter in a given range of the energy, momentum, etc. This class serves as the base class <strong>for</strong> a vectorhaving various energy scale, <strong>for</strong> example like 'log' (G4PhysicsLogVector) 'linear' (G4PhysicsLinearVector),'free' (G4PhysicsFreeVector), etc.• G4LPhysicsFreeVectorImplements a free vector <strong>for</strong> low energy physics cross-section data. A subdivision method is used to find theenergy|momentum bin.• G4PhysicsOrderedFreeVectorA physics ordered free vector inherits from G4PhysicsVector. It provides, in addition, a method <strong>for</strong> the userto insert energy/value pairs in sequence. Methods to retrieve the max and min energies and values from thevector are also provided.• G4TimerUtility class providing methods to measure elapsed user/system process time. Uses and - POSIX.1.• G4UserLimitsClass collecting methods <strong>for</strong> get and set any kind of step limitation allowed in <strong>Geant4</strong>.40

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!