$Id: History,v 1.127 2009/11/18 17:57:59 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= Geant4 - an Object-Oriented Toolkit for Simulation in HEP ========================================================= Category History file --------------------- This file should be used by G4 developers and category coordinators to briefly summarize all major modifications introduced in the code and keep track of all category-tags. It DOES NOT substitute the CVS log-message one should put at every committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- Movember 18th, 2009, G.Cosmo (event-V09-02-05) - Fixes to "Adjoint" classes to allow build of DLLs on Windows: renamed all methods and data holding "External" as keyword to "Ext". Cleanup of the code: use "const G4String&" instead of "G4String" wherever possible; use G4 types in consistent way; avoid usage of "isNan"; code formatting cleanup; added Geant4 disclaimer. November 6, 2009, L.Desorgher (event-V09-02-04) - First commit of G4Adjoint calsses for event category New classes are G4AdjointPosOnPhysVolGenerator,G4AdjointPrimaryGenerator, G4AdjointStackingAction September 16, 2009, M.Asai (event-V09-02-03) - Improved the logic in G4SmartTrackStack. - Added /event/stack/verbose to have a short report of peak number of tracks in the urgent stack. August 17, 2009, M.Asai (event-V09-02-02) - Introducing G4SmartTrackStack class. By using this new stack as the urgent stack of G4StackManager, the next track poped up from the stack is not necessarily the last track stored in the stack, but the track of same particle type as the previous one, as long as such a track exists in the urgent stack. This mechanism is expected to improve the performance for ultra-large scale simulation such as LHC, by increasing the cashe hit rate of the physics tables. - The use of G4SmartTrackStack is optional. To use it, uncomment the "#define" line in include/evmandefs.hh. June 29, 2009, M.Asai (event-V09-02-01) - Fix warning message in G4SPSEneDistribution.cc. February 17, 2009, F. Lei (event-V09-02-00) - Minor chnages to G4GeneralParticleSourceMessenger.cc. It now uses the full ranges of units pre-defined in G4 for length, energy and angle. September 02, 2008, G.Cosmo (event-V09-01-01) - Removed some redundant semicolons in G4SPSAngDistribution header... June 02, 2008, F. Lei (event-V09-01-00) - Cleared gcc 4.3 compilation warning (src/G4SPSEneDistribution.cc:1155) - Added a few Get methods to G4SPSAngDistribution (bug #1013) December 4, 2007, F. Lei (event-V09-00-03) - Fixed the problem in bug report #988 November 7, 2007, M.Asai (event-V09-00-02) - Added private copy constructor and =, ==, += operators to G4ParticleGun. Addressing to Bug Report 984. October 1, 2007, P.Gumplinger and M.Asai (event-V09-00-01) - Add UI commands /gun/momentum and /gun/momentumAmp for example: /gun/momentumAmp 1.0 GeV (not GeV/c)! September 28, 2007, P.Gumplinger (event-V09-00-00) - Add class member particle_momentum and method SetParticleMomentum(G4double) June 11, 2007, G.Santin (event-V08-03-02) - Fix to normalisation of source intensities with multiple sources: G4GeneralParticleSource::IntensityNormalization June 4, 2007, A.Howard (event-V08-03-01) - Put back some classes required for scoring of biasing cells: G4CellScorerStore and G4CellScorer May 31, 2007, A.Howard (event-V08-03-00) - Removal of classes from old biasing/scoring scheme: G4CellScorer, G4CellScorerStore, G4ScoreTable, G4Scorer - Files remain on the HEAD for testing purposes March 8, 2007, M.Asai (event-V08-02-01) - Consolidation of previous tag with a new flag in G4EventManager. March 5, 2007, M.Asai (event-V08-02-00) - Prevent from unnecessary creation of G4String objects in G4Event, which were default for random number status. November 17, 2006, F.Lei (event-V08-01-03) - Improved implementation of flat_sampling (biasing) for multiple sources in GPS. November 17, 2006, F.Lei (event-V08-01-02) - First implementation of flat_sampling (biasing) for multiple sources. November 10, 2006, F.Lei (event-V08-01-01) - Added line 468 to for initialization to G4PSEneDistribution.cc November 02, 2006, M.Asai (event-V08-01-00) - Add a flag in G4Event to keep the particular event object until the end of current run. - Add a set method to G4EventManager to control the above flag and add a UI command in G4EvManMessenger. June 15, 2006, M.Asai (event-V08-00-04) - Add zero vector check for polarization of optical photon in G4PrimaryTransformer. May 10, 2006, M.Asai (event-V08-00-03) - Import G4RayShooter from visualization/RayTracer. May 06, 2006, M.Asai (event-V08-00-02) - Store random number status to G4Event. May 05, 2006, M.Asai (event-V08-00-01) - G4EventManager : Set G4Event pointer before the G4State is changed. March 03, 2006, M.Asai (event-V08-00-00) - Bug fix in rarely used G4ParticleGun constructor. November 30, 2005, G.Cosmo (event-V07-01-05) - Trivial fixes to G4SPSAngDistribution and G4SPSPosDistribution for support of CLHEP-2.0.X series. November 22, 2005, M.Asai (event-V07-01-04) - Put G4Exception to the constructors of G4UserEventAction and G4UserStackingAction to protect against their instantiation before G4VUserPhysicsList is instantiated and set to G4RunManager. - Put protection against null pointer to G4ParticleGun::SetParticleDefinition(). November 21, 2005, M.Asai (event-V07-01-03) - Fix a bug in the previous tag. November 18, 2005, M.Asai (event-V07-01-02) - Migration to sstream. - Move G4HepMC classes to examples/extended/eventgenerator/HepMC. October 20, 2005, Joseph Perl (event-V07-01-01) - Tag to co-work with vis-V07-01-05. Oct 17, 2005 Jane Tinslay - Modify GNUmakefile to follow intercoms->graphics_reps migration for G4VGraphicsScene and G4VVisManager Sep 05, 2005, F.Lei (event-V07-01-00) - Corrected typo in printout in G4GeneralParticleMessenger.cc (bug #786) Jun 13, 2005, G.Cosmo (event-V07-00-05) - Corrected typo in printout in G4GeneralParticleMessenger.cc. May 30, 2005, M.Asai (event-V07-00-04) - Modify G4PrimaryTransformer to accept exotic particles. May 10, 2005, F.Lei (event-V07-00-03) - commentingt out line 157 in G4SinglePariclesource.cc. Fixing a bug in particle weight Apr 26, 2005, M.Asai (event-V07-00-02) - Modify G4PrimaryTransformer - to accept shortlived primary particle with proper decay table, - to issue a warning message if a shortlived primary does not have decay table nor pre-assigned decay mode, - and to add a new virtual method to alter the conversion of such shortlived into a track (default implementation converts it). - Modify G4ParticleGun and G4ParticleGunMessenger to accept shortlived primary particle with proper decay table. Mar 24, 2005, M.Asai (event-V07-00-01) - Move G4PrimaryParticle, G4PrimaryVertex, G4VUserPrimaryParticleInformation and G4VUserPrimaryVertexInformation to particles/management. - Modify G4PrimaryTransformer to take care of a mass defined in G4PrimaryParticle if it is defined. Jan 26, 2005, F.Lei (event-V07-00-00) - bug (typo) fix in G4SPSRandomGenerator.cc (lines 608,709) - restored the inheritance to G4VPrimaryGenerator for G4GeneralParticleSource - bug fix in G4SPSEneDistribution.cc (lines 1168,1169) Dec 02, 2004, M.Asai (event-V06-02-04) - Migration to . Oct 28, 2004, F.Lei (event-V06-02-03) - Added new features, focused beam and multiple vertexes, to GeneralParticleSource. Aug 10, 2004, M.Asai (event-V06-02-02) - G4PrimaryTransformer becomes a base class. Jul 7, 2004, M.Asai (event-V06-02-01) - Treatment of G4UnknownParticle is added to G4PrimaryTransformer. Jul 1, 2004, G.Cosmo (event-V06-02-00) - Trivial fix for porting on gcc-3.4.0 compiler: removed extra semicolons in G4CellScorerStore.cc. Jun 11, 2004, G.Cosmo (event-V06-01-07) - Use global flag G4EVENT_ALLOC_EXPORT to export extern symbols for DLLs. Modified GNUmakefile and rearranged usage of extern symbols in classes. Jun 9, 2004, G.Cosmo (event-V06-01-06) - Adopt G4DLLIMPORT/G4DLLEXPORT technique to handle extern simbols for allowing support of DLLs on Windows. - Coworks with "global-V06-01-02b". Jun 7, 2004, G.Cosmo (event-V06-01-05) - Export extern symbols for allowing support of DLLs on Windows. Modified files: G4Event.hh, G4HEPEvtParticle.hh, G4PrimaryParticle.hh, G4PrimaryVertex.hh, G4StackedTrack.hh, G4TrajectoryContainer.hh. - GNUmakefile: added definition of GLOBLIBS for DLLs support on Windows. - Coworks with "global-V06-01-02a". May 26, 2004, M.Asai (event-V06-01-04) - Fix incorrect behaviour of event abortion requested by BeginOfEventAction. May 04, 2004, M.Asai (event-V06-01-03) - Access methods to G4TrackingManager and G4StackManager are added to G4EventManager. Apr, 26, 2004, F. Lei (event-V06-01-02) - Restored a few methods to G4GeneralParticleSource.hh to maintain backward compatibility. Apr, 5, 2004, F. Lei (event-V06-01-01) - Added "UserWRTSurace = true", "UserAngRef= flase" to constructor of G4SPSAngDistribution. - Apply the Max/Min angle limits to the User defined angular distribution case. - New formula for conevrting integral spectrum to differential one. Apr, 1, 2004, F. Lei (event-V06-01-00) - Major design iteration of the G4GeneralParticleSource class. The following new classes have been added: - G4SingleParticleSource - G4SPSEneDistribution - G4SPSAngDistribution - G4SPSPosDistribution - G4SPSRandomGenerator See http://reat.space.qinetiq.com/gps for more details of the changes. Mar. 15, 2004, M.Asai (event-V06-00-01) - LocateGlobalPointAndSetup() method of G4Navigator is now invoked at the beginning of each event to reset the navigator. Feb. 22 2004, H.Kurashige (event-V06-00-00) - Bug Fix in the destructor of G4ParticleGunMessenger Nov 19 2003, M.Asai (event-V05-02-09) - G4ParticleGun.cc, G4ParticleGunMessenger.cc: - Added protection against shooting shortlived particle. Oct 13 2003, F.Lei (event-V05-02-08) - increased the array size from 256 to 1024 for user defined histograms. - Bug fix in G4GeneralParticleSource.cc: make sure the SideRefVec(1/2/3) are unit vectors. Oct 03 2003, G.Cosmo (event-V05-02-07) - GNUmakefile: o added dependency to new module "geometry/navigation". o replaced "digits+hits" with "digits_hits". - Coworks with "geometry-V05-02-00" and "digits_hits-V05-02-00". Oct 01 2003, M.Asai (event-V05-02-06) - Set G4DynamicParicle the pointer to the corresponding primary particle. Sep 12 2003, M.Asai (event-V05-02-05) - Introducing G4VUserPrimaryVertexInformation and G4VUserPrimaryParticleInformation classes, which can be associated with G4PrimaryVertex and G4PrimaryParticle, respectively. - Adding a treatment of "proper decay time" for preassigned decay products. - Introducing G4StackChecker class, a utility class which can be used by a user. Sep 09 2003, M.Asai (event-V05-02-04) - Introducing G4VUserEventInformation class, which can be associated with G4Event. Aug 13 2003, M.Asai (event-V05-02-03) - Introducing another entry method G4EventManager::ProcessOneEvent which takes G4TrackVector class object. - Adding a mechanism of merging more than one kinds of primaries (HepHC and G4PrimaryVertex or G4TrackVector and G4PrimaryVertex). - Change the trackID numbering scheme for "PostposedToNextEvent" tracks. Now they have negative trackID. Aug 11 2003, M.Asai (event-V05-02-02) - Maintain links between pre-assigned decay products and corresponding primary particle. Becuse of this, G4PrimaryParticle objects of pre-assigned decay have proper track ID. Aug 01 2003, M.Asai (event-V05-02-01) - Introducing a new entry method G4EventManager::ProcessOneEvent which takes HepMC event class object instead of G4Event object. - G4HepMCInterface::HepMC2G4 becomes a static service method. - G4HepMCInterface::CheckVertexInsideWorld is moved to G4VPrimaryGenerator and also becomes a static servic method. Aug 01 2003, M.Asai (event-V05-02-00) - With introducing G4RunManagerKernel class in Run category, G4EventManager now toggles the application states between G4State_GeomClosed and G4State_EventProc. Jun 04 2003, G.Cosmo (event-V05-01-02) - Fixes for inclusion of in G4HEPEvtInterface.cc in view of the g4std wrappers migration. Jun 03 2003, G.Cosmo (event-V05-01-01) - Fixed trivial warning in G4GeneralParticleSourceMessenger.cc. May 21 2003, M.Asai (event-V05-01-00) - Clean up unused variables. Dec 06 2002, G.Cosmo (event-V04-01-11) - Corrected tag to include also "event-V04-01-09" !! Dec 04 2002, M.Asai (event-V04-01-10) - Migration to new G4ApplicationState Dec 03 2002, M.Asai (event-V04-01-09) - Fix memory leak caused by deleting stacked tracks. Dec 03 2002, G.Cosmo (event-V04-01-08) - Protect code defining interface to HepMC from compilation on Windows systems. Temporarly solution until CLHEP will support the HepMC module on Windows. Nov 25 2002, M.Asai (event-V04-01-07) - Fix a bug in G4CellScorer.cc Nov 18 2002, M.Asai (event-v04-01-06) - Introducing HepMC interfaces - Tag for Geant4 5.0 release Nov 4th 2002 M.Dressel (event-V04-01-05) - remove G4std:: where it does not belong to Oct 28 2002, M.Dressel (event-V04-01-04) - Added G4CellScorer[.hh.cc], G4CellScorerStore[.hh.cc], G4ScoreTable[.hh.cc], G4Scorer[.hh.cc] Oct 06 2002, M.Asai (event-V04-01-03) - Protect user's mis-use of destructor of G4TrajectoryContainer. By design it was expected that G4TrajectoryContainer would be deleted by G4Event destructor, after "clearAndDestroy" is separately invoked. Aug 19 2002, M.Asai (event-V04-01-02) - Change the default value of charge for G4PrimaryParticle. Aug 13 2002, M.Asai (event-V04-01-01) - G4Event: Introducing an EventAborted flag. Jun 29 2002, V.Ivantchenko (event-V04-01-00) - G4PrimaryParticle: fixed initialisation of 'charge' in constructors. Jun 8 2002, M.Asai (event-V04-00-04) - Fix G4TrajectoryContainer to be compliant to gcc-3.1. May 29 2002, M.Asai (event-V04-00-03) - Added TransferOneStackedTrack() method to G4StackManager. May 15 2002, M.Asai (event-V04-00-02) - Introducing new G4TrajectoryContainer class which aggregates STL vector, instead of deriving from STL vector. Feb 26 2002, G.Cosmo (event-V04-00-01) - Optimised implementation of SetNewValue() in G4ParticleGunMessenger and G4GeneralParticleSourceMessenger to allow porting on WIN32-VC for optimised compilation. Jan 22 2002, M.Asai (event-V04-00-00) - Remove the check G4PrimaryTransformer whether the primary vertex is inside the world volume. The check has been moved to G4SteppingManager. Nov 21 2001, M.Asai (event-V03-02-09) - G4PrimaryTransformer.cc: now considering case where a primary is placed on the boundary of the world volume. Added units. Nov 20 2001, M.Asai (event-V03-02-08) - Add check whether the primary vertex is inside of thw world volume. - Move set method of position and time from G4ParticleGun to G4VPrimaryGenerator so that G4HEPEvtInterface can accept the primary vertex position Nov 10 2001, M.Asai (event-V03-02-07) - Tagged. Oct 19 2001, F. Lei - Code changes to remove compilation warnings un gcc-2.95.2 - Added Beam option for generating accerlator beams Oct 11 2001, G.Cosmo (event-V03-02-06) - Replaced inclusions of ctoken.h with G4Tokenizer.hh in G4GeneralParticleSourceMessenger.cc and G4ParticleGunMessenger.cc. Removed comment on RW wrappers. - Co-works with tag "globals-V03-02-03" where the STLInterface module has been removed. Aug 27 2001, M.Asai (event-V03-02-05) - Convert NULL to 0 in G4EventManager.cc Aug 17 2001, M.Asai (event-V03-02-04) - G4EventManager.cc is debugged according to bug report 289. July 19 2001, M.Asai (event-V03-02-03) - Tagged July 19 2001, F.Lei - Most commands under G4ParticleGun class are now available under GPS e.g.. /gun/position => /gps/position /gun/direction => /gps/direction /gun/energy => /gps/energy ... - Implemented co-ordinates rotation for angular distribution. User defined co-ordinates was an option available to user in the messenger but not implemented internally in the older version gps. Source angular distribution coupled with positional distribution can lead to rather strange combinations. To avoid this I used a simple scheme in this implementation: - For cos-law angular distribution the default maxtheta is set to pi/2. instead of pi. The user can of course re-set this to any number between 0 - pi. - Added user defined histogram re-set method. After re-set user can redefine all the histograms. To use /gps/resethist 'histname' - Bug fixed in generating theta, and in calculating the weight. - Added further guidance in the messenger for the definition of pre-defined energy distributions Jul 18 2001, M.Asai (event-V03-02-02) - Added a new feature for the user to increase the number of waiting stacks. Jul 17 2001, M.Asai (event-V03-02-01) - G4PrimaryParticle now stores the proper trackID. Jul 13 2001, G.Cosmo (event-V03-02-00) - Cleanup of pedantic warnings in Linux-g++ ANSI setup. - Corrected "int" to "G4int". - Corrected "NULL" to "0". - Synchronised with HEAD revision after inclusion of disclaimer liability. Jun 28 2001, G.Cosmo (event-V03-01-01) - Added CVS headers to G4GeneralParticleSource[.hh.cc] and G4GeneralParticleSourceMessenger[.hh.cc]. Removed characters and corrected format for comments to appear in the Software Reference Manual. Apr 20 2001, G.Cosmo (event-V03-01-00) - Modified G4GeneralParticleSource.cc according to recent migration to STL vector for the geometry domain (tag "geometry-V03-01-00"). Feb 8 2001, M.Asai (event-V03-00-03) - Migration to STL vector classes affected files : ./event/include/G4HEPEvtInterface.hh ./event/include/G4PrimaryParticle.hh ./event/include/G4TrajectoryContainer.hh ./event/src/G4EventManager.cc ./event/src/G4GeneralParticleSource.cc ./event/src/G4HEPEvtInterface.cc ./event/src/G4PrimaryParticle.cc ./event/src/G4PrimaryTransformer.cc Feb 7 2001, M.Asai (event-V03-00-02) - Add proper time to G4PrimaryParticle Feb 7 2001, M.Asai (event-V03-00-01) - Fix syntax errors in G4GeneralSourceParticle.cc Feb 5 2001, M.Asai (event-V03-00-00) Jan 26 2001, F. Lei - bug fixing in G4GeneralSourceParticle.cc replace: posphi = acos(tx/sin(posthe)); with: if (posthe != 0. && posthe != pi) posphi = acos(tx/sin(posthe)); else posphi = 0.0; endif Nov 20 2000, G.Cosmo (event-V02-00-04) - Removed data-logs from test directory. Nov 13 2000, M.Asai (event-V02-00-03) Nov 10 2000, F.Lei - Adding src and include sub-directory and files to test/GeneralParticleSource - Improving the speed in G4GeneralParticleSource::GenerateIsotropicFlux() and G4GeneralParticleSource::GenerateCoslawFlux() - some bug fixing: i) dclared ' G4int count' in all ****Interpolation functions ii) added ' return (0.) ' to GenerateUserDefTheta and GenerateUserDefPhi as default. iii) changed #include to #include "g4std/fstream" in G4GeneralParicleSourceMessenger.cc Nov 9 2000, M.Asai (tag event-V02-00-02) - Adding /source/event/test and GeneralParticleSource sub-directory. Oct 31 2000, F.Lei G4GeneralParticleSource: G4GeneralParticleSourceMessenger: G4GeneralParticleSource is an alternative primary source generator to G4ParticleGun. It has all the functions of G4ParticleGun plus many options for specifing the primary event particle and vertex. - added -I$(G4BASE)/global/HEPNumerics/include \ to GNUMakefile Oct 19 2000, M.Asai (tag event-V02-00-01) G4ParticleGun : Add Set/GetParticleCharge methods for ions. G4ParticleGunMessenger : Add new command of /gun/ion : Modify command of /gun/particle G4PrimaryParticle : Add Set/GetCharge methods : Add weight G4PrimaryVertex : Add weight G4PrimaryTransformer : Use G4PrimaryParticle::GetCharge to give dynamic charge in G4DynamicParticle : Set weight of G4Track July 22 2000, M.Asai (tag event-V02-00-00) - Adding some new Set methods to G4PrimaryVertex and G4PrimaryParticle classes. Jan 26, 00, M.Asai (tag event-V01-00-01) - Corrections for trajectories of suspended tracks - This tag requires tracking-V01-00-01 Jan 12, 00, M.Asai (tag event-V01-00-00) - G4EventManager becomes a singleton. - G4EventManager keeps the pointers of all user action classes except run action. - Null pointer protections are added for SetUserAction methods in G4EventManager and G4StackManager. Nov 4, 99, M.Asai (tag event-V00-01-01) - Comments are enriched for the software reference manual Oct 4, 99, J.Allison (tag event-V00-01-00) - Removed -I$(G4BASE)/graphics_reps/include from GNUmakefile (no longer necessary after G4VVisManager moved to intercoms). Jun 7, 99, J.Allison (tag event-01-00-03) - Trapped "G4HEPEvtInterface:: cannot open file." Apr 15, 99 M.Asai (tag event-01-00-02) - Catch up the changes of trajectory classes in tracking category. Apr 09, 99 M.Asai (tag event-01-00-01) - Change the pointer arguments in user action classes to const. Nov 11, 98 M.Asai (tag event-00-03-04) - Optimize G4PrimaryVertex for events such as having huge number of primaries. Oct 10, 98 M.Asai (tag event-00-03-03) - Bug fix in G4PrimaryVertex. - Add verbosity to G4PrimaryXXX. Oct 01, 98 M.Asai (tag event-00-03-02) - Introducing a new inlined method in G4ParticleGun.hh. Sep. 21, 98 M.Asai (tag event-00-03-01) - Inclusion of "G4HCofThisEvent.hh" and "G4DCofThisEvent.hh" moved from "G4Event.cc" to "G4Event.hh", to avoid the link problem on HP-CC (not aCC). July 19, 98 M.Asai (tag event-00-01-03) - More tight check against EoF in G4HEPEvtInterface July 15, 98 M.Asai (tag event-00-01-02) July 4, 98 M.Asai (tag event-00-01-01) - ready for the beta release June 30, 98 M.Asai (tag event-00-07-01) - Introduce shortlived particles June 22, 98 P. Urban - Preliminary results of tracking optimisation merged into the HEAD. - tagged as event-00-06-03 June 10, 98 M.Asai - G4ParticleGunMessenger.cc is modified to catch up the new G4UIcommand - tagged as event-00-06-02 June 8, 98 M.Asai - tagged as event-00-06-01 June 6, 98 M.Asai - G4Event and G4EventManager is updated for the new "digita+hits" scheme - GNUmakefile is updated May 6, 98 M.Asai - G4ParticleGun is cleaned up. April 29, 98 G.Cosmo (event-00-05-02) - Removed print-out of track's pointers from verbose level in G4EventManager.cc (P.Urban) April 22, 98 M.Asai - Tagged as event-00-05-01 April 9, 98 G.Cosmo - Porting on DEC-cxx 6.0. Removed meaningless usage of "const" qualifier from functions return type for basic types by value. Modified files: G4StackManager.hh, G4TrackStack.hh April 6, 97 M.Nagamatu - modified G4ParticleGunMessenger.cc to fix the "Unit length" of /gun/position command. December 19, 97 G. Cosmo - (alpha03) - Created.