[root] / trunk / geom / geom / inc / TGeoSphere.h Repository:
ViewVC logotype

Log of /trunk/geom/geom/inc/TGeoSphere.h

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 48928 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 25 15:45:11 2013 UTC (22 months ago) by agheata
File length: 5714 byte(s)
Diff to previous 46483
Large scale cleanup in shapes navigation interfaces adding const modifier for point and direction parameters passed as input arguments.

Revision 46483 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 12 07:21:19 2012 UTC (2 years, 3 months ago) by agheata
File length: 5642 byte(s)
Diff to previous 44507
Made sphere constructor with array as input using all parameters

Revision 44507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by axel
File length: 5571 byte(s)
Diff to previous 24879
Remove
  using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.

Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.

Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.

Revision 24879 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 18 08:04:40 2008 UTC (6 years, 6 months ago) by brun
File length: 5566 byte(s)
Diff to previous 24870
Fix compilation warnings on Windows

Revision 24870 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 17 16:30:58 2008 UTC (6 years, 6 months ago) by brun
File length: 5565 byte(s)
Diff to previous 22923
From Andrei:
new development related to overlap checking. This generates not only the shape mesh vertices but some 1000 points on the shape outline/surface. This is implemented for all important shapes except TGeoPcon (which works using the old method).

Revision 22923 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 1 12:34:14 2008 UTC (6 years, 9 months ago) by rdm
File length: 5457 byte(s)
Diff to previous 21425
move geom, geombuilder, geompainter and gdml to geom meta directory.

Revision 21425 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 17 15:59:27 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 5457 byte(s)
Diff to previous 20882
From Andrei:
Improve the documentation layout such that THtml makes a better rendering.

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 5208 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 5208 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 5259 byte(s)
Diff to previous 18553
remove :$ from tag line

Revision 18553 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 23 08:58:53 2007 UTC (7 years, 9 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 5269 byte(s)
Diff to previous 15672
From Andrei:
- new method  TGeoShape::GetMeshNumbers() that allows getting the number of points, segments and polygons in the mesh of any shape - to be used by an upgrade of the overlap checker
- addition in the overlap checker to use the above info
- modifications in TGeoManager for improving performance for tracking geantinos with G4root interface

Revision 15672 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 3 16:10:46 2006 UTC (8 years, 6 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 5180 byte(s)
Diff to previous 13282
from Axel:
Change the signature of SavePrimitive from

  void SavePrimitive(ofstream &out, Option_t *option);
to
  void SavePrimitive(ostream &out, Option_t *option = "");

With this change one can do, eg
   myhist.SavePrimitive(std::cout);

WARNING: do rm -f tree/src/*.o

Revision 13282 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 18 16:07:59 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 5176 byte(s)
Diff to previous 13271
From Andrei:
a patch fixing RS2 and RS4 coding conventions violations..

Revision 13271 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 17 13:17:55 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 5175 byte(s)
Diff to previous 12961
From Andrei & Mihaela:
a diff containing the implementation of TGeoShape::Capacity. There are also
few other fixes (see below):

Mihaela:

New method:
  Double_t TGeoShape::Capacity() const;
implemented for all supported shapes. The algorithms provide analytical computation of
shape capacity in [cm^3]. All algorithms are accurate with 2 exceptions:
- TGeoCtub : the formula is just an approximation due to the difficulties to integrate
over the phi angle in the general case.
- TGeoCompositeShape: the computation of the capacity is done by sampling, with an
accuracy of 1%.

Based on this method I extended the implementation of TGeoVolume::Weight(Double_t
precision, Option_t *option). The default value of option is now "va" meaning: verbose
+ analytical. Removing "a" from the default option performs computation of volume
weight using the old algorithm of sampling. I have checked the 2 ways of computing the
weight one against the other and they are consistent.

Andrei:

- fixed a memory leak related to TGeoShapeAssembly ownership
- fixed some tracking problems for assemblies (when the top volume was an assembly)

Revision 12961 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 14 14:55:48 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 5132 byte(s)
Diff to previous 11272
From Andrei:
- fix in TGeoSphere::DistFromOutside()
- fix for a memory leak in TGeoManager class (reported by Dmitry)
- fix for setting the identity bit for TGeoCombiTrans (reported by Ivana)

Revision 11272 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 9 18:19:27 2005 UTC (9 years, 10 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 5070 byte(s)
Diff to previous 11028
From Richard Maunder:

Changes to viewer infrastructure (TBuffer3D,TVirtualViewer3D) to
support:

i) Proper shape specific (sphere, tube, etc) descriptions in TBuffer3D
derived classes - c.f. abuse of raw tesselation blocks before.
ii) On demand filling of buffer sections as required by viewer.
iii) Support for local/master frame shapes descriptions & child object
rejection.
iv) Template/placed shapes ids - enabling viewer to detect/receive
common shapes once and just obtain the new position and id of the
duplicate.

Cleans up all producer (g3d/geom) code so no longer has an viewer
specific knowledge - Paint() methods replaced with
GetBuffer3D/FillBuffer3D methods which complete requested sections of
the buffer.

All viewer specific code now sits on the viewer implementation side of
TVirtualViewer3D. Added a TViewer3DPad class for performing the 3D draws
into pad. In future this should be merged with TView/TView3D possibly.

TBuffer3D is now stripped of functional code (aside from memory
management) and various viewer passback options there previously.
Enforced one way passing a const & to viewer.

Buffers (various types) are held as single static inside producer
function e.g. TGeoShape::GetBuffer3D (c.f. single generic buffer type
fetched from pad previously).

For g3d and geom shapes the top level geometry painter (TNode /
TGeoPainter) controlls painting process, requesting shapes to fill
buffer and passing to 3D viewer.

Exceptions are g3d's TPolyLine3D, TPolyMarker3D & TMarker3DBox. These
are 'standalone' shapes - no controlling 'painter' object. They still
implement Paint(), fill buffer and add to viewer directly.

3D viewer still held / created by pad - and pad has it's own viewer
object (TViewer3DPad).

NOTE:

1. Current scheme supports one 3D viewer only - pad, x3d or OpenGL. This
means that pad goes blank when x3d/OGL is spawned, and is updated again
when it is closed. To be revisited - need to support multiple viewers,
of multiple types - which implies explicit naming or pad controlling
enumeration.

2. OGL viewer now responds correct to modifications in pad, without
having to be reinvoked (as previously). x3d is still decoupled (as
previously) so does not rebuild - too difficult to get working.

Revision 11028 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 3 11:40:39 2005 UTC (9 years, 11 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 5031 byte(s)
Diff to previous 10699
From Andrei Gheata:
The diffs for the changes from Mihaela. They implement the SavePrimitive method for:
- all shapes
- materials, mixtures and media
- matrices
- TGeoVolume - just a first version

What is missing:
Divisions + manager metod to save:
- all geometry
- just the branch corresponding to one volume

The differences compared to g2root are that:
- when saving just a a branch just materials/media/matrices for that branch are created (module encapsulation)
- instead of creating objects with numerical arguments, the coresponding variables are defined and used.
 e.g. instead of :
   new TGeoBBox("name", 10.,20.,30); the generated code is:

   dx = 10.;
   dy = 20.;
   dz = 30.;
   pShape = new TGeoBBox("name", dx,dy,dz);


The diffs contain also 2 shapes with boundary-safe algorithms: TGeoPara and TGeoTrap

Revision 10699 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 7 14:24:57 2004 UTC (10 years, 1 month ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4958 byte(s)
Diff to previous 10621
From Andrei Gheata:
I attached some diffs as proposed by Matevz and Alja which made their
own GL-based TGeo viewer in GLED. The changes are just structural:

 - lines/polygons filling splitted out from TGeoShape::Paint() as
TGeoShape::SetLinesAndPols(TBuffer3D *buff).
 - Shapes can create and fill a new TBuffer3D with the new method:
TGeoShape::Make3DBuffer() in the local frame

They need this since they have their own geometry tree parsing algorithm
(not the same as in TGeoPainter::PaintNode()) with another
structure/matrix handling system. Basically they just need one buffer
per volume, reusing them since they attach them to TGeoVolume as user
data. Not quite bad idea: they create only once a limited number of
buffers that they re-use without re-filling...

Revision 10621 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 25 12:10:01 2004 UTC (10 years, 2 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4847 byte(s)
Diff to previous 10498
From Andrei and Mihaela Gheata:
New shape TGeoHype from Mihaela.
This patch contains all modifications in TGeo, additions in
g2root to adjust format of MakeHype(...) and a fix in TBuffer3D.cxx
(Paint("SAME")). Also Mihaela modified geodemo.C

 The modifications (made by Timur probably) TGeoTube::Paint() for making
GL-like tubes are wrong so I temporary disabled them. The global matrix
filled to GL is wrongly retreived (+ it may come from other sources in
case of overlap drawing).

Revision 10498 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 8 09:56:24 2004 UTC (10 years, 2 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4915 byte(s)
Diff to previous 9311
From Andrei Gheata:
Change names of TGeo functions with confusing names
DistToIn    ->   DistFromOutside
DistToOut ->   DistFromInside
It should be much less confusing since it specifies where the starting
point is supposed to be.

Revision 9311 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 25 11:59:56 2004 UTC (10 years, 7 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4903 byte(s)
Diff to previous 8648
From Andrei Gheata:
- TGeoShape::PaintNext() removed from all shapes (for the new
visualization system to be introduced shortly).
The new mechanism is implemented in
TGeoPainter::PaintShape (uses gGeoManager as we discussed), but it also
affect some shapes (TGeoCompositeShape at least)


- New  files: TGeoElement.h /.cxx representing a chemical element. This
is very helpful for the implementation of TFluka. Materials/mixtures can
be now built also based on this new class. An element table is kept
always transient in memory.

- Mihaela implemented the TGeoParaboloid shape: new files:
TGeoParaboloid.h/cxx.

Revision 8648 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 22 14:07:15 2004 UTC (10 years, 9 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4977 byte(s)
Diff to previous 7724
From Andrei Gheata:
- TGeoXtru navigation now fully implemented by Mihaela
- Improvements in the ray-tracing algorithm
- Added TGeoShape::GetNmeshVertices() to be used by visualization and by
the overlap checker in case of composite shapes (currently the checker
does not work with composites)
- I have created a new demo macro (see /tutorials/geodemo.C in the
attachment) to replace /tutorials/geoshapes.C. Functionality:

  - all previous functionality of geoshapes.C
  - new shapes examples added: TGeoTorus, TGeoXtru, TGeoCompositeShape
  - can call rootgeom.C
  - ray-tracing can be switched on/off
  - comments can be switched on/off
  - demonstrates alignment

Revision 7724 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 11 10:34:55 2003 UTC (11 years, 1 month ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4926 byte(s)
Diff to previous 7713
From Andrei

  kBig removed, accessible via inline : TGeoShape::Big()
  kDegRad, kRadDeg changed everywhere with TMath::RadToDeg(),
TMath::DegToRad()

Revision 7713 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 10 15:31:23 2003 UTC (11 years, 1 month ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4902 byte(s)
Diff to previous 7671
From Andrei Gheata:

some changed files in TGeo improving the performance of
TGeant3 WITHROOT:

- safety was computed twice (both by TGeoManager::Safety() as well as
the shape algorithms called by TGeoManager->FindNextBoundary()). The
speed now with WITHROOT improves.

- few fixes in some shape algorithms related to boundary treatment (few
others to be done)
- Improved computation of normals
- Improved non-recursive algorithm of TGeoPgon::DistToOut()

- fix of some default value in all shape headers (0 replaced by kBig) to
allow range limited computation of DistToIn/Out - now working just for pgon.

Revision 7671 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 28 13:52:35 2003 UTC (11 years, 1 month ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4896 byte(s)
Diff to previous 7022
From Andrei,

several fixes in safety algorithms

Revision 7022 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 31 20:19:33 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4895 byte(s)
Diff to previous 6304
From Andrei GHeata:

- TGeoManager::FindNormal(Bool_t forward=kTRUE)  = global algorithm for
finding the normal to the next/previous crossed surface, from the
current global point/direction. The current point does not necessary
need to be close to the surface, and the normal direction is always
returned so that its dot product with the current direction is positive
defined. One can get the normal after its computation with:
    Double_t *TGeoManager::GetNormal()

- Normal computation algorithms for box, arb8, trap, gtra, cone in the
corresponding shape classes.

- New primitive shape fully implemented, from visualization to
computation of distances (except the normal computation, missing also
for several other shapes). Class name: TGeoTorus, representing a torus
segment with :
    - R - radius of the circle representing the torus axis
    - Rmin - inner radius    (like a donut having a hole in the middle)
    - Rmax - outer radius (Rmin < Rmax < R)
    - Phi1 - start phi
    - Dphi - phi range

- Some unused obsolete methods removed from the TGeoShape class.
- modifications in TGeoIdentity default ctor to initialize gGeoIdentity
- TGeoMaterial::IsMixture(),
   TGeoMaterial::FindDuplicateMaterial(const TGeoMaterial *mat)

- several other minor changes

Revision 6304 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 14 11:49:03 2003 UTC (11 years, 10 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4963 byte(s)
Diff to previous 6068
From Andrei:
Add support for positioning
parametrized boxes into : TRAP, GTRA, PARA, TRD1 and TRD2. Now in D0
there are only 793 extrusions/overlaps within 0.1 cm.

Revision 6068 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 7 13:46:48 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4941 byte(s)
Diff to previous 5972
New version from Andrei and Mihaela:
 - several implementations of method Safety for shapes
 - few bug fixes in safety computation (phi segmented shapes)
 - volumes have now an unique ID that you can get with GetNumber()
 - Mihaela implemented an overlap checker that can be called either for
all geometry :
    TGeoManager::CheckOverlaps(Double_t ovlp=0.1) or just for a given
volume. OVLP is the lower overlapping limit. The checker looks for the
following errors in the geometry definition :
  1 - nodes extruding their mother - can be visualised with
TGeoManager::DrawExtrusion(char *mother, char *node) which draws mother
in blue and extruding daughter in red
  2 - ONLY brothers overlapping to each other - can be  visualized with
TGeoManager::DrawOverlap(char *volume, char *node1, char *node2) - node1
will appear in red and node2 in blue.
  These methods can be called only after CheckOverlaps() that prints the
list of overlaps. They are all in the context menu of both TGeoVolume
and TGeoManager.

Revision 5972 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 23 14:25:37 2003 UTC (12 years ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4873 byte(s)
Diff to previous 5758
From Andrei:
- all shape classes : changed the prototype for Safety() method.
Eliminated validity checking in Divide() methods that are now globally
handled by TGeoVolume::Divide(). Added methods
TGeoShape::GetAxisName/Range(Int_t iaxis) which are used by the new
global division mechanism.
- safety for TGeoTrap now computed (pcon, pgon not yet)
- TGeoVolume : eliminated unnecesarry Divide() prototypes. The new
Divide() prototype is backwards compatible (old macros works with it)
but supports an option in order to allow all G3 division types. More
description in TGeoVolume::Divide().
- TGeoManager : Only one prototype for G3-like divisions left,
supporting all G3 options and also being able to assign to the division
volumes a medium different than the one of the divided volume. New
FindNode(x,y,z) implemented. New IsSameLocation(x,y,z) with the same
functionality as GINVOL.

Revision 5758 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 6 16:45:03 2002 UTC (12 years, 1 month ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4886 byte(s)
Diff to previous 5723
From Andrei:
New patch for shape algorithms, including :
- bug fixes in TGeoPgon::DistToIn()
- new algorithm by Mihaela for computing distances to a sphere (it was
missing).

So, now all algorithms per shape for computing distances should be "in
shape", at least as far as we have tested. Clearly some problems still
remain with the global algorithm including MANY's. At least now the lego
plot seem to work for the rootgeom example (shooting in /TOP/Replica
produces a nice plot). Obviously we will eventually find other bugs, but
the version as it is now seems to work reasonably good.

Revision 5723 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 3 16:01:41 2002 UTC (12 years, 1 month ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4621 byte(s)
Diff to previous 5354
New version of the geometry package from Andrei:
Fixes to compile with no warnings with the option -ansi -pedantic
It also includes bug fixes for Trd1,2,  cone and pcon DistToIn/Out
algorithms.

Revision 5354 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 27 16:16:06 2002 UTC (12 years, 3 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4595 byte(s)
Diff to previous 4918
New version of the geometry package by Andrea & Mihaela Gheata
New features:
 -I/O for all geometry classes. For example, to save/restore a geometry structure,
   TFile f("mygeom.root","recreate");
   gGeoManager->Write("mygeom");
  and to read it back;
   TFile f("mygeom.root");
   f.Get("myGeom");
   gGeoManager->CloseGeometry();

 -Composite shapes fully implemented (no visualisation yet).
  A composite shape is built out of basic shapes and transformations via
  a simple formula mechanism, eg assuming a TGeoTube "tub1" and a TGeoMatrix "r1",
  we can build a composite shape with:
    TGeoCompositeShape *comp = new TGeoCompositeShape("comp",formula); where
    char* formula="tub1+tub1:r1"
  This will create the union of a tube with itself rotated.
  The operators recognized by the geometry formula parser are "+","-","*"
  for union, subtraction and intersection respectively. The colon ":" can be
  used to specify a transformation for a given component.

 -The voxelisation in cylindrical coordinates added as an optional optimisation
  algorithm.

 -Some bug fixes and several improvements in the tracking-related algorithms.

Revision 4918 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 15 15:32:25 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 4241 byte(s)
Diff to previous 4874
New version of the geometry package by Andrei.
All graphics moved to geompainter (hopefully)

Revision 4874 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 10 19:24:17 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 3958 byte(s)
Diff to previous 4841
A new iteration to port the geometry package on different systems.
Progress towards ROOT naming and style conventions
Add constness in most classes (work not yet completed).

Revision 4841 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue Jul 9 13:08:12 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/geom/inc/TGeoSphere.h
File length: 3909 byte(s)
Add new geometry package

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9