cvs log $Id: History,v 1.133 2008/11/13 09:07:31 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 *
     ----------------------------------------------------------

13th November 2008  Gabriele Cosmo  (greps-V09-01-06)
- HepPolyhedronHype: fixed arrays upper-bound in constructor, responsible
  for memory corruption in visualization of G4Hype shape.

28th April 2008  John Allison  (greps-V09-01-05)
- HepPolyhedronEllipticalCone: correct visibility of auxiliary edges.

14th April 2008  Tatiana Nikitina  (greps-V09-01-04)
- Added G4Hype representation to HepPolyhedron and G4Polyhedron.
- Coworks with tag "geom-specific-V09-01-08".

13th March 2008  Gabriele Cosmo  (greps-V09-01-03)
- Added inclusion of <cstdlib> in HepPolyhedron.cc for porting on gcc-4.3.0.

29th January 2008  John Allison  (greps-V09-01-01)
- HepPolyhedronParaboloid: bug fix and improvement.

4th January 2008  John Allison  (greps-V09-01-00 with vis-V09-01-00)
- G4VVisManager::Draw2D methods, already available for G4Text, extended to:
  G4Circle, G4Polyhedron, G4Polyline, G4Polymarker, G4Square.

21th August 2007  Tatiana Nikitina  (greps-V09-00-02)
- Fixed bug in scaling parameter for G4EllipticalCone representation in
  HepPolyhedron class.

18th July 2007  Tatiana Nikitina  (greps-V09-00-01)
- Added G4Paraboloid to HepPolyhedron and G4Polyhedron.
- Coworks with tag "geom-specific-V09-00-02".

17th July 2007  John Allison  (greps-V09-00-00)
- G4VGraphicsScene: Added constructor and virtual destructor.

8th June 2007  Gabriele Cosmo  (greps-V08-03-00)
- G4AttHolder: replaced forward declarations in header with explicit inclusions
  to allow for porting on Intel-icc compiler.

3rd April 2007  John Allison  (greps-V08-02-01)
- G4AttDefStore: now comprises utility functions in namespace
  G4AttDefStore.  (Used to be a class with only static functions and
  data members.)
- G4AttHolder: Made copy constructor and assignment private to enforce
  proper usage.

5th January 2007  John Allison  (greps-V08-02-00)
- G4VisAttributes:
  o SetForceLineSegmentsPerCircle: Bug fix: Now correctly implements reset.
  o Minor refinement: Introduced IsForceLineSegmentsPerCircle().
- G4Colour: Replaced static data members by static functions that
  create and copy out the relevant colours.  (Static data members make
  a lot of noise in the gdb debugger.  Anyway, are best avoided.)

7th November 2006  John Allison  (greps-V08-01-11)
- HepPolyhedronEllipticalCone: Bug fix.
- G4Visible: Fixed possible minor (subsidiary) memory leak in SetVisAttributes.
- G4AttCheck: Cosmetic.

2nd November 2006  John Allison  (greps-V08-01-10)
- G4Visible: Fixed copy constructor and assignment operator for deep copies.

1st November 2006  John Allison  (greps-V08-01-09; co-works: vis-V08-01-09)
- Tidied G4Att checking and storing:
  o G4AttCheck: Added store key to printing in operator<<.
  o G4AttDef: Improved printing of store key in operator<<.
  o G4AttDefStore: Removed GetName, introduced GetStoreKey.
  o G4AttHolder:
    ~ Removed GetAttDefsName.
    ~ Replaced AddAttValues and AddAttDefs by a combined AddAtts.

24th October 2006  John Allison  (greps-V08-01-08; co-works: vis-V08-01-08)
- G4VisAttributes: Change GetAttValues to CreateAttValues.  It creates
  an expendable copy on the heap, thus following the behaviour of
  CreateAttValues in trajectories, hits, etc.  This achieves consistency
  of behaviour and user expectation; the user must delete after use.
- G4AttHolder: Remove CopyAndAddAttValues.  No longer needed after
  above change to G4VisAttributes.

21st October 2006  John Allison  (greps-V08-01-07)
- Added G4AttHolder.
- G4AttDefStore: Changed GetName type from G4String to const G4String&.

17th October 2006  John Allison  (greps-V08-01-06)
- Moved below operator<< from G4AttCheck.hh/cc to G4AttDef.hh/cc.

16th October 2006  John Allison  (greps-V08-01-05)
- Added operator<< for G4AttDefs:
  std::ostream& operator<<
    (std::ostream& os, const std::map<G4String,G4AttDef>* definitions)
- Improved output diagnostics.

---------------------------------------------------------------------------
15th September 2006  John Allison  (greps-V08-01-04 - coworks vis-V08-01-06)
- G4Visible: Added fAllocatedVisAttributes to prevent memory leak.

12th September 2006 Jane Tinslay
- Remove trailing white spaces in G4ConversionUtils
- Add FilterHit method to G4VVisManager

11th September 2006 Jane Tinslay
- Add templated G4AttDef's and various utilities

11th September 2006  John Allison
- Fixed G4AttCheck for dimensionless "Physics" attributes (were
  previously "Bookkeeping").

6th September 2006 Jane Tinslay
- Add G4TypeKey & G4TypeKeyT classes

------------------------------------------------
26th August 2006  John Allison  (greps-V08-01-03)
- G4VisAttributes: Added time range.

25th August 2006 Jane Tinslay
- Make G4VFilter Accept method const

14th August 2006  John Allison  (greps-V08-01-02)
- G4AttCheck: Improved error checking.

10th July 2006  John Allison  (greps-V08-01-01)
- Co-works with vis-V08-01-01.
- G4VGraphicsScene.hh: Removed Establish/DecommissionSpecials.
- G4VisAttributes:
  o Added ForceLineSegmentsPerCircle.
  o Cosmetic re-ordering of methods,

3rd July 2006  John Allison  (greps-V08-01-00)
- G4AttCheck.cc:
  o Added G4bool to the list of allowed G4AttValue value types.
  o Added Density to the list of units categories.
- G4AttDefStore: Added GetName.

2nd May 2006 Jane Tinslay (greps-V08-00-03)
- Add FilterTrajectory method to G4VVisManager

19th April 2006  John Allison  (greps-V08-00-02 - needs vis-V08-00-04)
- G4VGraphicsScene: Added Begin/EndPrimitives2D.
- G4VVisManager: Added Draw2d(const G4Text&).

28th March 2006 Jane Tinslay (jst28032006)
- Add G4VFilter and G4SmartFilter

13th March 2006  John Allison  (greps-V08-00-01)
- Added operator<< for G4Text, G4Circle, G4Square, G4Polyhedron.
- Improved/tidied operator<< for G4Polyline, G4VMarker, G4VisAttributes.
- Improved comments in G4VVisManager.

13th January 2006  John Allison  (greps-V08-00-00)
- Added G4PolyhedronArbitrary:
  o Moved from geometry/solids/specific, where it was part of a
    development by Peter Truscott and Fan Lei of QinetiQ.
    G4PolyhedronArbitrary is a way of creating arbitrary G4Polyhedron
    objects out of vertices and indices.
  o Removed unnecessary operator= functions.

23rd November 2005  Jane Tinslay 
- Update documentation in G4Colour

10th November 2005  Jane Tinslay (greps-V07-01-09)
- G4VVisManager: Fix Dispatch method name to "DispatchToModel".
- G4Colour: Use public static member functions instead of public 
  static data members to avoid problems with dynamic libraries.

10th November 2005  John Allison
- G4VVisManager and G4VGraphicsScene: Replaced default arguments
  G4Transform3D::Identity by G4Transform3D().  (This is a avoid
  initialisation problems with static objects with dynamic libraries.)

9th November 2005  Gabriele Cosmo
- Implemented migration to support CLHEP-2.0.X, adding explicit namespace
  to CLHEP types. Affected files: HepPolyhedron[.h.cc], BooleanProcessor.src.

24th October 2005  John Allison (greps-V07-01-08)
- Moved G4VTrajectoryDrawer to modeling (renamed G4VTrajectoryModel).
- G4VVisManager.hh: Changed DispatchToCurrentDrawer to DispatchToCurrentModel.

21st October 2005 Jane Tinslay (greps-V07-01-07)
- Add G4VTrajectoryDrawer, an abstract base class for trajectory drawers
- Add "DispatchToCurrentDrawer" method to G4VVisManager

20th October 2005  John Allison (greps-V07-01-06)
- G4Colour.cc: Added #include <sstream>.

17th October 2005 Jane Tinslay (greps-V07-01-05)
- intercoms->graphics_reps migration for G4VGraphicsScene and G4VVisManager  

13th October 2005 Jane Tinslay  (greps-V07-01-04)
- Additions to G4Colour
  o Add static data members for common colours.
  o Add G4String->G4Colour colour map.

3rd October 2005  John Allison
- G4NURBStubesector.cc: Replaced <strstream> by <sstream>.

16th September 2005  John Allison  (greps-V07-01-03)
- G4AttCheck.cc: Added time to legal G4AttValues.

10th August 2005  Gabriele Cosmo  (greps-V07-01-02)
- Added Polyhedron description for new G4EllipticalCone shape.
  Implementation by D.Anninos (CERN).
  Requires tag "geom-specific-V07-01-03" for geometry/solids/specific module.

5th July 2005  John Allison  (greps-V07-01-01)
- Big clean-up:
  o Removed redundant intermediate class, G4VVisPrim.
  o Removed redundant virtual assignments and similar oddities.

20th Jun 2005  Gabriele Cosmo  (greps-V07-01-00)
- Added Polyhedron description for new G4Ellipsoid shape.
  Contribution of G.Guerrieri (INFN Genova).

26th May 2005  John Allison  (greps-V07-00-07)
- Fixed bug introduced in greps-V07-00-05.
- Removed DEPRECATION of G4Visible::SetVisAttributes(const G4VisAttributes&)
  pending a resolution of the issues for a future release.

22nd May 2005  John Allison  (greps-V07-00-05)
- DEPRECATED G4Visible::SetVisAttributes (const G4VisAttributes&).
  Meanwhile created copy of G4VisAttributes object on the heap.

3rd May 2005  John Allison  (greps-V07-00-04)
- Improved G4AttCheck.

7th April 2005  John Allison  (greps-V07-00-03)
- Needs g3tog4-V07-00-00 and geometry-gmk-V07-00-00.
- Consolidated G4AttCheck.

28th March 2005  John Allison  (johna-050328a)
- G4AttCheck: Corrected for Extra and ValueType fields.  Augmented
  test of more fields.

28th March 2005  John Allison  (johna-050328)
- G4AttCheck: Added check of Extra field.

26th March 2005  John Allison  (johna-050326)
- G4AttCheck: Implemented prototype conversion from G4AttValue/Defs to
  "standard" versions.  Needs G4UIcommand, so makes a new category
  dependency.  Requires one to make a new lib map.  Seems OK, but
  must check with Gabriele.

22nd March 2005  John Allison  (greps-V07-00-02)
- G4Polyhedron: Added fNumberOfRotationStepsAtTimeOfCreation.
- G4VisAttributes: Changed std::vector<G4AttDef> to map<G4String,G4AttDef>.
- Added first version of G4AttCheck.

9th March 2005  John Allison  (greps-V07-00-01)
- HepPolyhedron: Added IsErrorBooleanProcess().
- BooleanProcessor: Added get_processor_error().
- G4Visible: Moved SetVisAttributes (const G4VisAttributes&) from .icc
  to .cc file and added warning message.

19th February 2005  John Allison  (greps-V07-00-00)
- Needed for vis-V07-00-06.
- Added G4VisExtent::NullExtent.

10th December 2004  G.Cosmo  (greps-V06-02-04)
- Replaced M_PI with CLHEP's pi.

8th December 2004  G.Cosmo  (greps-V06-02-03)
- HepPolyhedron, BooleanProcessor: replaced occurences of HepStd::
  with std::
- Added inclusion of <cmath> in HepPolyhedron.cc.

7th December 2004  G.Cosmo  (greps-V06-02-02)
- Implemented migration to <cmath>.

11th November 2004  J.Allison  (greps-V06-02-01 - requires vis-V06-02-05)
- Removed G4Polymarker::line.  Use G4Polyline instead.
- Improved commenting of G4AttDef.

28th July 2004  J.Allison  (greps-V06-02-00)
- Introduced force auxiliary edge visible.

7th June 2004  G.Cosmo  (greps-V06-01-01)
- Fixed compilation problem on WIN32-VC for G4AttDefStore.
- Added definition of GLOBLIBS in GNUmakefile for DLLs build on Windows.

30th March 2004  G.Cosmo  (greps-V06-01-00)
- Implemented constructor and destructor for G4AttDefStore, to properly
  delete objects in the static map, allocated through explicit calls to
  GetInstance(). Made G4AttDefStore a singleton.

18th September 2003  J.Allison  (greps-V05-02-00)
- Introduced G4Colour<->G4ThreeVector conversion operators.

3rd April 2003  G.Cosmo  (greps-V05-00-00)
- Cleared trivial pedantic warnings.

27th November 2002  J.Allison  (greps-V04-01-05)
- Small revison of G4Scale and improvements in G4VMarker class description.

20th November 2002  G.Cosmo  (greps-V04-01-04)
- Patched access to public static data in G4Scale and G4VisAttributes.
  Added static accessors to be used in the kernel to allow porting on
  Windows DLLs.
- HepPolyhedron[.hh.cc]: changed inline static methods to not inlined.

11th November 2002  E.Chernaev  (greps-V04-01-03)
- Minor bug fix in HepPolyhedron::GetFacet().
- HepDouble, HepBoolean --> double, bool in HepPolyhedron

7th November 2002  E.Chernaev  (greps-V04-01-02)
- Added createTwistedTrap() and createPolyhedron() to HepPolyhedron.

28th October 2002  J.Allison  (greps-V04-01-01)
- Changed AttDefStore to return a map.

24th October 2002  John Allison  (greps-V04-01-00)
- Added G4AttDefStore.
- Further improved G4AttDef/Value.
- Added const G4std::vector<G4AttValue>* fAttValues/Defs to G4VisAttributes.

23rd October 2002  John Allison
- G4Colour class description corrected.
- G4VisAttributes comments slightly improved.
- G4AttDef and G4AttValue headers changed to follow G4 conventions.

27th September 2002  Joseph Perl
- Added first versions of headers for G4AttDef and G4AttValue.

10th September 2001  John Allison  (greps-V03-02-04)
- Added G4Scale::GuidanceString.

20th August 2001  John Allison  (greps-V03-02-03)
- Made typedef's public in G4Point3DList.hh and G4Polyline.hh.

14th August 2001  John Allison  (greps-V03-02-02)
- Coworks with vis-V03-02-11 and intercoms-V03-02-03.
- Added G4Polyline::transform.
- Fixed pedantic warnings in G4NURBS.

24th July May 2001  John Allison  (greps-V03-02-01)
- Improvements to comments and layout in G4VisExtent.
- Cosmetic improvements to G4Scale, small change of interface.

21st July May 2001  John Allison  (greps-V03-02-00)
- Added G4Scale.

25th May 2001  John Allison  (greps-V03-01-02)
- Added GetSurfaceArea() and GetVolume() to HepPolyhedron (Evgeni).
- Bug fix in BooleanProcessor.src (Guy, Evgeni).

3rd May 2001  John Allison  (greps-V03-01-01)
- Replaced G4RWTValOrderedVector by G4std::vector in G4PlacedPolyhedron
  and G4Point3DList.  Forces co-working tags in categories:
    geommng-V03-01-02
    tracking-V03-01-00
    vis-V03-01-01

11th April 2001  John Allison  (greps-V03-01-00)
- Some code has been added to cover unforeseen earlier situation
  during preselection of faces without intersection (Evgeni).
- Moved #include <CLHEP/config/TemplateFunctions.h> and others from
  HepPolyhedron.h to HepPolyhedron.cc (Evgeni).
- Fixed stupid warnings about possible use of uninitialized variables (Evgeni).
- Made GetNumberOfRotationSteps() static and public (John).

6th February 2001  John Allison  (greps-V03-00-01)
- More tidying for CodeWizard.  Added virtual destructors to
  HepPolyhedronBox, etc.  Also made all constructors non-inline.

3rd February 2001  John Allison  (greps-V03-00-00)
- Tidied for CodeWizard.  Note: G4Circle.icc and G4VVisPrim.icc removed, so
  "gmake clean" all relevant directories before updating.

5th June May 2000  Evgeni Chernaev (greps-V01-01-04)
- Bug fix in BooleanProcessor.src.
- Graceful recovery from caseIE() and caseEE() non-implementation
  (first polygon returned).

20th May 2000  Evgeni Chernaev (greps-V01-01-03)
- Temporary workaround to avoid caseIE() and caseEE.

13th May 2000  John Allison (greps-V01-01-02)
- Changed std:: to HepStd:: for ISO compatibility (Evgeni Chernaev).

11th April 2000  John Allison (greps-V01-01-01)
- Added operator = (const HepPolyhedron&) to ExtPolyhedron.

6th April 2000  John Allison (greps-V01-01-00)
- Tagged.

4th April 2000  Evgeni Chernaev
- Added boolean operations (add, subtract, intersect) on HepPolyhedron objects.
- Added BooleanProcessor.src.

30th March 2000  John Allison
- Added virtual operator= to G4Polyhedron.hh and HepPolyhedron.h to avoid
  warnings about hiding.

23rd February 2000  John Allison
- Moved G4Polyhedron constructors and destructor to .cc.

22nd February 2000  Evgeni Chernaev (greps-V01-00-03)
- Re-instated edge flags for "invisible" edges of HepPolyhedronCons and Torus.

22nd February 2000  John Allison  (greps-V01-00-02)
- Added HepPolyhedron (Evgeni Chernaev).  Re-implemented G4Polyhedron.

11th January 2000  John Allison  (greps-V01-00-01)
- Fix for spheres with small dtheta.

16th December 1999  John Allison (greps-V01-00-00)
- Added G4Polyhedron::Transform and G4Polyhedron::InvertFacets (Evgeni
  Chernaev).

17th November 1999 Satoshi Tanaka (greps-V00-01-01)
- Header comments for software reference manual

4th October 1999  John Allison  (greps-V00-01-00)
- Improved comments in G4Visible.hh.

23rd July 1999  John Allison
- Added base class copy to copy contructor of G4Polyhedron.

21st July 1999  John Allison
- Added G4PlacedPolyhedron, which includes G4PlacedPolyhedronList.

greps-01-00-08  5th June John Allison
- Added virtual operator = and overrides to G4Circle and G4Square.

greps-01-00-07  25th May 1999  John Allison
- Moved operator != to member function.

greps-01-00-06  19th May 1999  John Allison
- Fixed compilation warnings, mainly overriding virtual functions.

greps-01-00-05  12th May 1999  John Allison
- Made destructors virtual where applicable.

greps-01-00-04  28th April 1999  John Allison
- Moved G4VVisManager and G4VGraphicsScene to intercoms.

greps-01-00-03  7th February 1999  John Allison
- Removed GNU_GCC from G4Polymarker.cc.
- Added G4VGraphicsScene::AddThis (G4Polycone and G4Polyhedra.

greps-01-00-02  6th January 1999  John Allison
- Very minor change in G4VisExtent.cc - 2 -> 2.
- Inclusion of test/ in tag.

greps-01-00-01  6th January 1999  John Allison
- Corrected constructors of G4VisAttributes for initialisation of
  fDaughtersInvisible.

greps-00-04-02 02 December 1998 Evgeni Tcherniaev
- Added G4NURBS::CalcPoint() for calculation coordinates of a
point lying on the nurbs surface.

greps-00-04-01  25th November 1998  John Allison
- Added void G4VisAttributes::SetDaughtersInvisible (G4bool).

greps-00-03-03  9th November 1998 Satoshi Tanaka
Added G4String fInfo and its access functions to G4VMarker

greps-00-03-02  6th November 1998  John Allison
- Cleaned up GNUmakefile - no longer includes unnecesary -I's

greps-00-03-01  26th September 1998  John Allison
- Removed SetWorldVolume from G4VVisManager - no longer used.

greps-00-02-03  21st August 1998  John Allison
- Rationalised G4VisExtent::G4VisExtent (const G4Point3D& centre,
  G4double radius) so that iit is a true "inverse" of GetExtentRadius.
- Added global target to GNUmakefile (Gabriele Cosmo).

greps-00-02-02  14th August 1998  John Allison
- Added GeometryHasChanged() to G4VVisManager.  To be used by the run manager.

greps-00-02-01  6th August 1998  John Allison
- Removed Draw, ClearView and Show in G4VVisManager.

greps-00-06-03  26th June 1998  Gabriele Cosmo
- Updated test/GNUmakefile to new electromagnetics.

greps-00-06-02  10th June 1998  John Allison
- Changed defaults in G4VisExtent to 0.

1st June 1998  Satoshi Tanaka
- Added Draw(), ClearView(), Show() to G4VVisManager.

greps-00-06-01  29th April 1998  John Allison
- Introduced Establish/DecommissionSpecials (G4PhysicalVolumeModel&)
  in place of BeginModeling (G4PhysicalVolumeModel&).

April 21st, 98 G.Cosmo (greps-00-05-03)
- Tagged.

April 9th, 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: G4NURBS.cc

greps-00-05-02  4th April 1998  John Allison
- Re-engineered maintenance of current depth, etc.  Needed new method
  G4VGraphicsScene::BeginModeling (G4PhysicalVolumeModel&) in
  graphics_reps.  The result is much cleaner model and modeling
  parameters classes.  Also, the current depth, physical volume and
  logical volume are immediately available as protected pointers in
  G4VScene.

HEAD  3rd April 1998  John Allison
- Added GetWorld/ScreenDiameter/Radius to G4VMarker.

April 2, 1998 G.Barrand :
- G4Polyhedron.cc : add a G4double cast to help NT/Visual compiler.

greps-00-05-01  26th March 1998  John Allison
- Removed #if defined(__DECCXX) || defined(WIN32) from G4NURBS.hh.
- Improved comments in G4VMarker.hh

7th January 1998  John Allison
- Added arguments to PreAddThis in G4VGraphicsScene.hh.
- Added virtual destructor to G4VVisManager.

December 19, 97 G. Cosmo - (alpha03)

- Created.

- Previous history (from README)

vis-00-01-02  13th July 1997  John Allison
- Consolidation of previous tag.

vis-00-01-01  8th June 1997  John Allison
- First systematic tag.
- G4Polyhedron - can now set number of sides for circle polygon approximation
