 $Id$

------------------------------------------------------------------------
 The documentation file for the Virtual Geometry Model test
 Copyright (C) 2007, Ivana Hrivnacova               
 All rights reserved. 
           
 For the licensing terms see vgm/LICENSE.
 Contact: ivana@ipno.in2p3.fr
------------------------------------------------------------------------


 The Virtual Geometry Model - Test
 =================================================
 
 For a convenience, the VGM test program  is built
 as a standard Geant4 application example though this is not
 the only way of VGM use. 
 (See the vgm/doc/README about other ways of VGM application.)

 The test program includes several geometry definitions,
 each one concentrated on particular geometry features:
   Solids          -  builds all VGM supported solids 
   NewSolid        -  builds selected solid individually
   Placements      -  test for placements via translation and rotation
   Reflections     -  test positions with reflection for all solids               
   AssembliesN     -  test volume assemblies
                      N=1 - assemblies in more levels
                      N=2 - assemblies with reflection
   BooleansSolidsM -  test Boolean solids
                      M=1 - Boolean solids with no displacement
                      M=2 - Boolean solids with displacement including
		            translation and rotation
                      M=3 - Boolean solids with displacement including
		            reflection
   Special         -  loads foreign geometry from geometry.root file;
                      can be run only with input = Root
                               
 (See TstVGeometry class)			    
			    
 For each test, the geometry definition is provided in three ways:
   via VGM interfaces
   via Geant4
   via Root
 See classes TstGeometryViaXXX, XXX = VGM, Geant4, Root)
 
 The selection of the test configuration is made via arguments passed
 into main program:

// Usage:
// vgm_test inputType inputFactory outputFactory outputXML selectedTest 
//         [debug] [openAngle] [noVis]
//
//         inputType     = VGM, Geant4, Root
//         inputFactory  = Geant4, Root
//         outputFactory = Geant4, Root, None
//         outputXML = AGDD, GDML, None
//         selectedTest  = Solids, Placements, Reflections, 
//                         AssembliesN, BooleanSolidsM
//                             where N = 1, 2; M = 1, 2, 3
//         debug         = if specified the factories operate in debug mode
//         openAngle     = if specified, solids like tubs, cons etc. are built
//                         with open azimuthal angle
//         noVis         = no visualisation
//         run           = run with the generator defined in macro/den_selectedTest.mac
//         rootNavig     = use navigation via G4Root

 Eg.
 vgm_test VGM Geant4 Root noXML Solids
 
 Geant4 geometry for Solids test will be built via VGM factory
 and exported in Root.         
 
 All test configurations can be run via test_suite.sh shell script.
 
 Though this test program demonstrates use of VGM in all possible
 ways, it was written for the purpose of testing and is not
 meant to substitute an example of VGM use. 
 Examples how to use VGM can be found in vgm/doc/README. 
