Files
geant4/source/geometry/management/History
T
2016-06-09 10:56:29 +02:00

408 lines
19 KiB
Plaintext

$Id: History,v 1.67 2004/05/13 14:54:15 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 *
----------------------------------------------------------
May 07, 2004 G.Cosmo geommng-V06-01-00
- Imported G4ReflectedSolid class from solids/Boolean.
- Added abstract factory G4VPVDivisionFactory defining interfaces
for the creation of volumes divisions (courtesy of I.Hrivnacova).
- Coworks with tags: geomvol-V06-01-00, geomdiv-V06-01-00 and
geom-bool-V06-01-00.
Dec 01, 2003 P.Gumplinger geommng-V05-02-05
- G4LogicalSurface[.hh.icc]: modified to use G4SurfaceProperty instead
of G4OpticalSurface. Requires tag "materials-V05-02-00".
Nov 04, 2003 G.Cosmo geommng-V05-02-04
- G4LogicalVolume.hh: added inclusion of assert.h required by .icc file.
Nov 01, 2003 G.Cosmo geommng-V05-02-03
- Code cleanup and headers inclusion review (replaced by forward
declarations where necessary).
- G4VPVParameterisation: added G4Polycone and G4Polyhedra to list of
possible parameterisations by dimension.
Oct 24, 2003 G.Cosmo geommng-V05-02-02
- Migrated calls to G4Exception to new scheme.
Oct 21, 2003 M.Asai geommng-V05-02-01
- Introducing G4VUserRegionInformation class.
- G4VPVParameterisation: added G4Orb. (V.Grichine)
Sep 30, 2003 G. Cosmo geommng-V05-02-00
- Logical reorganisation and restructure of modules.
Moved files to geometry/volumes:
G4AssemblyVolume[.hh.icc.cc]
G4PVParameterised[.hh.cc]
G4PVPlacement[.hh.cc]
G4PVReplica[.hh.cc]
Moved files to new module geometry/navigation:
G4DrawVoxels[.hh.cc]
Imported files from geometry/volumes:
G4BlockingList[.hh.icc.cc]
G4IdentityTrajectoryFilter[.hh.cc]
G4VCurvedTrajectoryFilter[.hh.cc]
- G4VPhysicalVolume[.hh.icc.cc]:
o Removed pointer to mother physical volume and related accessor
methods: SetMother()/GetMother().
o Removed pure virtual method Setup(G4VPhysicalVolume*), no longer
necessary. Subclasses will require modification as well.
- G4LogicalVolume.icc:
o Updated/fixed initialisation of data and fast-simulation manager
according to above changes.
- G4SmartVoxelHeader.cc:
o Cleared usage of PV-Setup(), according to above changes.
May 19, 2003 G. Cosmo geommng-V05-01-01
- G4LogicalVolume.cc: notify removal of root-logical-volume from G4Region
in case of deletion of a logical-volume from the destructor, instead that
from DeRegister() method.
- G4LogicalVolumeStore.cc: removed redundant check and call to
RemoveRootLogicalVolume() from Clean() method.
- G4Region.cc: removed redundant calls to ScanVolumeTree() and
UpdateMaterials() from RemoveRootLogicalVolume() method.
May 13, 2003 G. Cosmo geommng-V05-01-00
- G4LogicalVolume: added method ClearDaughters() to be used for resetting
the list of daughters to a logical volume in the use-case when only the
physical volume store is cleared at run-time.
- GVPhysicalVolume:
o Added pointer to mother logical volume (will replace in future releases
the pointer to mother physical volume) and related accessors.
o Standardised registration mechanism as daughter for constructor using
the pointer to the mother's PV.
- G4PhysicalVolumeStore:
o Added notification mechanism to logical volumes in the Clean() method
to update the list of daughters.
o Update mother's LV list of daughters when deregistering a volume.
- G4PVPlacement/Replica/Parameterised: standardised registration mechanism
as daughter for constructor using the pointer to the mother's PV.
April 3, 2003 M. Dressel geommng-V05-00-09
- G4LogicalVolume: added method for scanning recursively the volume tree
and retrieve if the current LV is ancestor of a given PV:
G4bool IsAncestor(const G4VPhysicalVolume*) const
March 31, 2003 G. Cosmo geommng-V05-00-08
- Fixed trivial strict pedantic warnings in G4VSolid.cc and G4PVPlacement.cc.
March 24, 2003 G. Cosmo geommng-V05-00-07
- G4Region.cc: fixed setting/resetting of regions in ScanVolumeTree().
March 05, 2003 M. Asai geommng-V05-00-06
- G4Region.cc: fix for scanning of parameterised materials.
March 05, 2003 G. Cosmo geommng-V05-00-05
- G4LogicalVolume.icc: added check for invalid geometry constructions.
Issue an exception if a placement is attempted in a volume already
containing a replicated daughter.
- Cosmetic formatting changes in G4PVPlacement.cc and G4VPhysicalVolume.cc.
February 07, 2003 G. Cosmo geommng-V05-00-04
- Added method FindOrCreateRegion() to G4RegionStore.
- Added check in constructor of G4Region for existance of region in store.
In case a region with the given name already exists, throw a warning and
do not register it.
January 30, 2003 G. Cosmo geommng-V05-00-03
- Allow logical volume store to deregister root regions for logical volumes
deleted explicitely.
Modified files: G4logicalVolumeStore.cc, G4LogicalVolume[.hh.icc.cc].
- G4Region.hh: moved ClearMaterialList() to public.
January 15, 2003 G. Cosmo geommng-V05-00-02
- Included fix in G4VSolid.cc introduced in "geommng-V04-01-06".
January 14, 2003 M.Asai geommng-V05-00-01
- Fix in src/G4Region.cc.
Does not include fix in "geommng-V04-01-06".
December 16, 2002 G. Cosmo geommng-V05-00-00
- Merged branch "geant4-04-01-ref-02-cuts-branch" to HEAD.
Included development for 'cuts-by-region'; introduced new classes
G4Region and G4RegionStore. Modified G4LogicalVolume to handle recursive
propagation of regions to daughters.
Does not include fix in "geommng-V04-01-06".
December 6, 2002 V. Grichine geommng-V04-01-06
- G4VSolid.cc: restored original conditions for extent clipping in
method ClipPolygon(). Makes unit tests run successfully.
November 19, 2002 G. Cosmo geommng-V04-01-05
- G4GeometryManager[.cc]
o Fixed bug in initialisation of fine-grained timer
(courtesy of Helmut Burkhardt).
November 09, 2002 G. Cosmo geommng-V04-01-04
- G4LogicalVolume.cc:
o Correction to propagation of the Field Manager to Daughter volumes:
it should be propagated to all daughters that do not have one -- not to all the
ones that have one already. Fixes bug report for field by logical volume.
(J.Apostolakis)
October 28, 2002 G. Cosmo geommng-V04-01-03
- G4VSolid[.hh.icc.cc]:
o Added pure virtual method StreamInfo() to stream contents of a solid
to a generic output stream.
o Added method DumpInfo() using StreamInfo() to dump contents to the
standard output.
October 23, 2002 G. Cosmo geommng-V04-01-02
- G4PVReplica.cc:
o Corrected order for check on illegal constructions, in constructor taking
a pointer to logical volume as mother volume.
o Improved output diagnostics.
- G4PVParameterised.cc:
o Improved output diagnostics for check on illegal constructions.
October 16, 2002 G. Cosmo geommng-V04-01-01
- G4PVReplica.cc, G4PVParameterised.cc:
Added checks for illegal geometry contructions; contructors now verify unicity
of daughter volumes for replicas and parameterised volumes, as well as checks
for attempt to replicate/parameterise the world volume.
October 4, 2002 G. Cosmo
- G4PVParameterised[.hh.cc], G4PVPlacement[.hh.cc]:
Added new method IsParameterised() to enquire for existing parameterisation
for a placed volume.
- G4PVReplica[.hh.cc], G4VPhysicalVolume[.hh.cc]:
Added methods IsParameterised() and GetMultiplicity() to enquire for existing
parameterisation of placed volume, and number of replicated volumes.
September 11, 2002 G. Cosmo geommng-V04-01-00
- G4AssemblyVolume[.hh.icc.cc]:
o Fixed bug #409 concerning missing imprint counter method.
o Fixed bug #410 concerning the internal counting mechanism.
The fix involved the addition of a new data member fAssemblyID,
holding the instance ID of the given object derived from
class-wide counter. Corresponding accessor methods has been
added as well.
- Updated unit test TestAssemblyVolume, to add call to G4RunManager
for resetting nagivator state in TstVADetectorConstruction.cc.
June 24, 2002 G. Cosmo geommng-V04-00-08
- G4AssemblyVolume[.hh.cc]:
o Moved accessors to assembly counters to public.
o Added support for user definable count base for generated physical volumes.
Fixes problem report #382.
June 7, 2002 G. Cosmo geommng-V04-00-07
- G4AssemblyVolume[.hh.cc]:
o Fixed inconsistent handling of input rotation matrices by caching them
with corresponding deallocation at destruction time.
Comments updated accordingly with a warning about foreseen changes
in methods' interfaces expected by next major release 5.0.
o Correctly handle cases when pointer to rotation matrix is zero.
o Updated unit test.
May 17, 2002 G. Cosmo geommng-V04-00-06
- Added ability to optionally optimise/non-optimise detector regions
using logical volumes:
o G4LogicalVolume:
- Introduced additional bool argument to constructor,
set to 'true' by default.
- Added method IsToOptimise() with corresponding bool flag attribute.
o G4GeometryManager:
- Adapted BuildOptimisations() method to consider optional optimisation
flag from G4LogicalVolume.
May 15, 2002 G. Cosmo geommng-V04-00-05
- G4SmartVoxelHeader:
o Added utility method GetParamAxis() to retrieve suggested axis for
optimisation of parametrised geometry.
o Enhanced BuildReplicaVoxels() to apply 3D voxelisation for non-consuming
nodes if undefined axis is specified for parametrised volumes. In such
case, optimisation for parameterised volumes is applied similarly to
normal placements.
- G4PVReplica.cc: deal with 'kUndefined' EAxis.
- Co-works with "global-V04-00-06".
May 13, 2002 G. Cosmo geommng-V04-00-04
- G4VSolid: use polygon clipping for limited voxel when != pAxis (V.Grichine).
- G4GeometryManager: added method IsGeometryClosed() for detecting geometry
closed or open.
- G4LogicalVolumeStore, G4PhysicalVolumeStore, G4SolidStore: added protection
to Clean() method for checking if geometry is closed.
- G4SmartVoxelHeader.cc: cosmetics and formatting cleanup.
April 19, 2002 G. Cosmo geommng-V04-00-03
- Moved inline constructors/destructors to no inline.
Affected files: G4DrawVoxels[.hh.cc], G4SmartVoxelNode[.hh.cc],
G4SmartVoxelProxy[.hh.cc], G4VoxelLimits[.hh.cc].
- Enhanced behavior for destructors of volumes/solids stores.
o Added locking mechanism for preventing conflicts when destroying stores
and deregistering pointers. Now destructors of stores will also
explicitely delete pointers (and therefore allocated volumes/solids)
dynamically allocated in the user application.
o Added Clean() static method to volumes/solids stores to explicitely
delete pointed objects in the stores and clear all entries.
o Modified files: G4LogicalVolumeStore[.hh.cc], G4SolidStore[.hh.cc],
G4PhysicalVolumeStore[.hh.cc].
April 16, 2002 V. Grichine geommng-V04-00-02
- G4VSolid[.hh.cc]: fixed bug in G4VSolid::ClipPoligon() to consider
clipping related to a single axis.
- G4VoxelLimits.cc: cosmetics changes and debug printouts ...
February 26, 2002 G. Cosmo geommng-V04-00-01
- G4GeometryManager.cc: fixed handling of ios manipulators and precision to reset
to their original state in G4GeometryManager::ReportVoxelStats().
Fixes problem report #343.
January 08, 2002 G. Cosmo geommng-V04-00-00
- G4AffineTransform.icc: fixed trivial compilation warning for gcc-2.95.2.
- Included latest cosmetics changes to TestAssemblyVolume/TstVADetectorConstruction.cc.
November 23, 2001 G. Cosmo geommng-V03-02-03
- Initialise noNodes to 1 in G4SmartVoxelHeader::BuildNodes() in case
computed nodes for smartless happen to be zero (J.Apostolakis).
November 08, 2001 G. Cosmo geommng-V03-02-02
- Fixed comments for reference manual in G4TouchableHandle.hh.
October 26, 2001 G. Cosmo geommng-V03-02-01
- Improved printout in G4GeometryManager::ReportVoxelStats().
October 22, 2001 G. Cosmo geommng-V03-02-00
- Added definition of G4TouchableHandle (R.Chytracek)
- Added class G4SmartVoxelStat for statistics on geometry optimisation
of volumes through voxelisation (courtesy of D.C.Williams).
- Modified G4GeometryManager to make use of G4SmartVoxelStat when run in
verbose mode.
May 31, 2001 G. Cosmo geommng-V03-01-04
- Adopt explicit initialisation for 'minExtents' and 'maxExtents'
in G4SmartVoxelHeader::BuildNodes(...), to allow porting on ObjectSpace STL.
May 23, 2001 G. Cosmo geommng-V03-01-03
- G4SmartVoxelHeader.cc: minor fix for removing pedantic warnings
detected on Linux-g++ with ISO/ANSI setup.
May 03, 2001 G. Cosmo geommng-V03-01-02
- G4DrawVoxels.cc: migration to STL vector according to changes in
graphics_reps module (greps-V03-01-01), now migrated as well.
April 27, 2001 G. Cosmo geommng-V03-01-01
- G4LogicalVolume.cc, G4SmartVoxelHeader.cc: fixed compilation warnings
on HP-UX, concerning potential uninitialised vector elements.
April 20, 2001 G. Cosmo geommng-V03-01-00
- Migration to STL vector:
o G4VSolid: migrated G4ThreeVectorList typedef.
o G4SolidStore, G4LogicalVolumeStore, G4PhysicalVolumeStore: migrated
inheritance from base collection of pointers.
o G4LogicalVolume: migrated data member "fDaughters".
o G4SmartVoxelHeader: migrated typedefs G4ProxyVector, G4NodeVector,
G4VolumeNosVector and G4VolumeExtentVector.
o G4SmartVoxelNode: migrated G4SliceVector typedef.
March 07, 2001 G. Cosmo geommng-V03-00-01
- G4PVPlacement.hh: corrected comments to constructor with G4RotationMatrix*
as argument, to correspond to specifications in the User's Manual.
- G4AssemblyVolume.cc: corrected comments about unique PV identifiers
(by R.Chytracek).
February 07, 2001 G. Cosmo geommng-V03-00-00
- Introduced first implementation of G4AssemblyVolume, a helper class to
combine several volumes together in an arbitrary way in the 3D space.
Added files: G4AssemblyVolume[.hh.icc.cc], G4AssemblyTriplet[.hh.icc]
(by R.Chytracek).
- Added unit test suite for G4AssemblyVolume class: TestAssemblyVolume
(by R.Chytracek).
December 04, 2000 G. Cosmo
- Minor fix to private assignment operator.
November 20, 2000 G. Cosmo geommng-V02-00-04
- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options:
o commented out variables declared and not used.
o fixed declaration of variables used before being initialised.
o fixed order of initialisation of member data in constructors.
o fixed usage of unsigned-int (size_t) for array indeces.
November 16, 2000 V.Grichine geommng-V02-00-03
- Fix in G4VSolid::CalculateClippedPoligonExtent(): removed assumption
that pMin<pMax by eliminating "else" condition. (D.Williams)
November 9, 2000 G.Cosmo geommng-V02-00-02
- Included test directory containing "voxel" test by L.Grainac.
November 1, 2000 G.Cosmo geommng-V02-00-01
- QA code revision and cleanup (+fixes from CodeWizard filtering):
o Added (private) declarations of copy constructor and assignment
operator where needed.
o Added "const" qualifier to accessor methods, wherever needed.
o Added equality check on operator= where needed.
o Made destructor "virtual" for classes having virtual methods,
wherever missing.
o Changed virtual functions to non-inline wherever's the case.
o Added "inline" qualifier to methods' declarations.
o Replaced usage of "do-loops" with "while-loops" in
G4VoxelLimits::ClipToLimits().
o General cosmetics
September 11, 2000 G.Cosmo geommng-V02-00-00
- G4SolidStore.cc: fixed bug in destructor causing memory corruption at
application exit when Boolean solids are involved (bug #154).
June 06, 2000 G.Cosmo geommng-V01-01-00
- G4DrawVoxels.hh: removed line '#define G4DrawVoxelsDebug' left in place
accidentally in the code...
April 20, 2000 G. Cosmo
- Reorganised comments for the Software Reference Manual.
- Moved inlined definition to .icc files, where needed.
Created: G4SmartVoxelHeader.icc, G4SmartVoxelNode.icc,
G4SmartVoxelProxy.icc, G4VoxelLimits.icc.
April 11, 2000 J. Allison
- Made virtual G4VisExtent G4VSolid::GetExtent() non-pure and implemented
a default in terms of CalculateExtent.
January 19, 2000 G. Cosmo geommng-V01-00-00
- Syncronized file versioning with HEAD (several CVS headers changed
due to the recent migration for ISO C++)
January 19, 2000 J. Allison
- G4DrawVoxels.cc: assured GetSlice(slice_no) is called for
slice_no < no_slices.
November 30, 1999 G. Cosmo geommng-V00-01-01a
- G4DrawVoxels.cc:
Fixed initialization of (const G4VPhysicalVolume*) in method
GetAbsoluteTransformation(). Fix needed for NT/VC++ compiler.
November 09, 1999 J. Apostolakis geommng-V00-01-01
- G4VPhysicalVolume:
i) Made G4RotationMatrix G4VPhysicalVolume::GetObjectRotation() const
non-inline and moved it to source file from inline file.
ii) Added GetObjectRotationValue() method.
iii) Minimal changes of comments for Software Ref. Manual in header file
[ Change i) caused problem with HP aCC compiler A.01.19. Atlas
was patching the code to try to get around this, but this
resolution is much better ]
March 17, 1999 J. Apostolakis geommng-01-00-02
- G4AffineTransform.icc:
Corrected a typo in InverseProduct (rzy->ryz) that caused the incorrect
calculation of a compound transformation (if tf1.tz*tf2.ryz != 0).
This problem was seen in ATLAS code.