Index: /trunk/Doxyfile
===================================================================
--- /trunk/Doxyfile	(revision 96)
+++ /trunk/Doxyfile	(revision 97)
@@ -1,3 +1,3 @@
-# Doxyfile 1.3
+# Doxyfile 1.4.2
 
 # This file describes the settings to be used by the documentation system
@@ -12,5 +12,5 @@
 
 #---------------------------------------------------------------------------
-# General configuration options
+# Project related configuration options
 #---------------------------------------------------------------------------
 
@@ -33,12 +33,22 @@
 OUTPUT_DIRECTORY       = /DATA/SITAR_1/whi550/VO/PulsarVO/docs/doxygen
 
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
+# 4096 sub-directories (in 2 levels) under the output directory of each output 
+# format and will distribute the generated files over these directories. 
+# Enabling this option can be useful when feeding doxygen a huge amount of 
+# source files, where putting all generated files in the same directory would 
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS         = NO
+
 # The OUTPUT_LANGUAGE tag is used to specify the language in which all 
 # documentation generated by doxygen is written. Doxygen will use this 
 # information to generate all constant output in the proper language. 
 # The default language is English, other supported languages are: 
-# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, 
-# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en 
-# (Japanese with english messages), Korean, Norwegian, Polish, Portuguese, 
-# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish and Ukrainian.
+# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, 
+# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, 
+# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, 
+# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, 
+# Swedish, and Ukrainian.
 
 OUTPUT_LANGUAGE        = English
@@ -48,9 +58,160 @@
 # but also whether or not the output is meant for Windows or non-Windows users. 
 # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES 
-# forces the Windows enconding, (this is the default for the Windows binary), 
-# whereas setting the tag to NO uses a Unix-style encoding (the default for the 
+# forces the Windows encoding (this is the default for the Windows binary), 
+# whereas setting the tag to NO uses a Unix-style encoding (the default for 
 # all platforms other than Windows).
 
 USE_WINDOWS_ENCODING   = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator 
+# that is used to form the text in various listings. Each string 
+# in this list, if found as the leading text of the brief description, will be 
+# stripped from the text and the result after processing the whole list, is 
+# used as the annotated text. Otherwise, the brief description is used as-is. 
+# If left blank, the following values are used ("$name" is automatically 
+# replaced with the name of the entity): "The $name class" "The $name widget" 
+# "The $name file" "is" "provides" "specifies" "contains" 
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       = 
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
+# inherited members of a class in the documentation of that class as if those 
+# members were ordinary class members. Constructors, destructors and assignment 
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user-defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. The tag can be used to show relative paths in the file list. 
+# If left blank the directory from which doxygen is run is used as the 
+# path to strip.
+
+STRIP_FROM_PATH        = 
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
+# the path mentioned in the documentation of a class, which tells 
+# the reader which header file to include in order to use a class. 
+# If left blank only the name of the header file containing the class 
+# definition is used. Otherwise one should specify the include paths that 
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    = 
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments will behave just like the Qt-style comments (thus requiring an 
+# explicit @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF      = YES
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
+# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
+# comments) as a brief description. This used to be the default behaviour. 
+# The new default is to treat a multi-line C++ comment block as a detailed 
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member 
+# documentation.
+
+DETAILS_AT_TOP         = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
+# a new page for each member. If set to NO, the documentation of a member will 
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 8
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user-defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = 
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
+# sources only. Doxygen will then generate output that is more tailored for C. 
+# For instance, some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources 
+# only. Doxygen will then generate output that is more tailored for Java. 
+# For instance, namespaces will be presented as packages, qualified scopes 
+# will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
+# the same type (for instance a group of public functions) to be put as a 
+# subgroup of that type (e.g. under the Public Functions section). Set it to 
+# NO to prevent subgrouping. Alternatively, this can be done per class using 
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
 
 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
@@ -76,4 +237,11 @@
 
 EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. When set to YES local 
+# methods, which are defined in the implementation section but not in 
+# the interface are included in the documentation. 
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = NO
 
 # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
@@ -87,5 +255,5 @@
 # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
 # undocumented classes that are normally visible in the class hierarchy. 
-# If set to NO (the default) these class will be included in the various 
+# If set to NO (the default) these classes will be included in the various 
 # overviews. This option has no effect if EXTRACT_ALL is enabled.
 
@@ -106,44 +274,4 @@
 HIDE_IN_BODY_DOCS      = NO
 
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
-# include brief member descriptions after the members that are listed in 
-# the file and class documentation (similar to JavaDoc). 
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
-# the brief description of a member or function before the detailed description. 
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
-# Doxygen will generate a detailed section even if there is only a brief 
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited 
-# members of a class in the documentation of that class as if those members were 
-# ordinary class members. Constructors, destructors and assignment operators of 
-# the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
-# path before files name in the file list and in the header files. If set 
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
-# can be used to strip a user defined part of the path. Stripping is 
-# only done if one of the specified strings matches the left-hand part of 
-# the path. It is allowed to use relative paths in the argument list.
-
-STRIP_FROM_PATH        = 
-
 # The INTERNAL_DOCS tag determines if documentation 
 # that is typed after a \internal command is included. If the tag is set 
@@ -154,16 +282,10 @@
 
 # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
-# file names in lower case letters. If set to YES upper case letters are also 
+# file names in lower-case letters. If set to YES upper-case letters are also 
 # allowed. This is useful if you have classes or files whose names only differ 
 # in case and if your file system supports case sensitive file names. Windows 
-# users are adviced to set this option to NO.
+# and Mac users are advised to set this option to NO.
 
 CASE_SENSE_NAMES       = YES
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
-# (but less readable) file names. This can be useful is your file systems 
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
 
 # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
@@ -173,44 +295,9 @@
 HIDE_SCOPE_NAMES       = NO
 
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
-# will generate a verbatim copy of the header file for each class for 
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
 # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
-# will put list of the files that are included by a file in the documentation 
+# will put a list of the files that are included by a file in the documentation 
 # of that file.
 
 SHOW_INCLUDE_FILES     = YES
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
-# will interpret the first line (until the first dot) of a JavaDoc-style 
-# comment as the brief description. If set to NO, the JavaDoc 
-# comments  will behave just like the Qt-style comments (thus requiring an 
-# explict @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF      = YES
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
-# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
-# comments) as a brief description. This used to be the default behaviour. 
-# The new default is to treat a multi-line C++ comment block as a detailed 
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member 
-# documentation.
-
-DETAILS_AT_TOP         = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
-# member inherits the documentation from any documented member that it 
-# reimplements.
-
-INHERIT_DOCS           = YES
 
 # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
@@ -226,15 +313,20 @@
 SORT_MEMBER_DOCS       = YES
 
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
-# tag is set to YES, then doxygen will reuse the documentation of the first 
-# member in the group (if any) for the other members of the group. By default 
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 8
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
+# brief documentation of file, namespace and class members alphabetically 
+# by member name. If set to NO (the default) the members will appear in 
+# declaration order.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
+# sorted by fully-qualified names, including namespaces. If set to 
+# NO (the default), the class list will be sorted only by class name, 
+# not including the namespace part. 
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the 
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = NO
 
 # The GENERATE_TODOLIST tag can be used to enable (YES) or 
@@ -262,13 +354,4 @@
 GENERATE_DEPRECATEDLIST= YES
 
-# This tag can be used to specify a number of aliases that acts 
-# as commands in the documentation. An alias has the form "name=value". 
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
-# put the command \sideeffect (or @sideeffect) in the documentation, which 
-# will result in a user defined paragraph with heading "Side Effects:". 
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                = 
-
 # The ENABLED_SECTIONS tag can be used to enable conditional 
 # documentation sections, marked by \if sectionname ... \endif.
@@ -277,5 +360,5 @@
 
 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
-# the initial value of a variable or define consist of for it to appear in 
+# the initial value of a variable or define consists of for it to appear in 
 # the documentation. If the initializer consists of more lines than specified 
 # here it will be hidden. Use a value of 0 to hide initializers completely. 
@@ -286,18 +369,4 @@
 MAX_INITIALIZER_LINES  = 30
 
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
-# only. Doxygen will then generate output that is more tailored for C. 
-# For instance some of the names that are used will be different. The list 
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources 
-# only. Doxygen will then generate output that is more tailored for Java. 
-# For instance namespaces will be presented as packages, qualified scopes 
-# will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
 # at the bottom of the documentation of classes and structs. If set to YES the 
@@ -305,4 +374,20 @@
 
 SHOW_USED_FILES        = YES
+
+# If the sources in your project are distributed over multiple directories 
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
+# in the documentation.
+
+SHOW_DIRECTORIES       = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
+# doxygen should invoke to get the current version for each file (typically from the 
+# version control system). Doxygen will invoke the program by executing (via 
+# popen()) the command <command> <input-file>, where <command> is the value of 
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
+# provided by doxygen. Whatever the progam writes to standard output 
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER    = 
 
 #---------------------------------------------------------------------------
@@ -334,8 +419,18 @@
 WARN_IF_DOC_ERROR      = YES
 
+# This WARN_NO_PARAMDOC option can be abled to get warnings for 
+# functions that are documented, but have no documentation for their parameters 
+# or return value. If set to NO (the default) doxygen will only warn about 
+# wrong or incomplete parameter documentation, but not about the absence of 
+# documentation.
+
+WARN_NO_PARAMDOC       = NO
+
 # The WARN_FORMAT tag determines the format of the warning messages that 
 # doxygen can produce. The string should contain the $file, $line, and $text 
 # tags, which will be replaced by the file and line number from which the 
-# warning originated and the warning text.
+# warning originated and the warning text. Optionally the format may contain 
+# $version, which will be replaced by the version of the file (if it could 
+# be obtained via FILE_VERSION_FILTER)
 
 WARN_FORMAT            = "$file:$line: $text"
@@ -362,6 +457,6 @@
 # and *.h) to filter out the source-files in the directories. If left 
 # blank the following patterns are tested: 
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp 
-# *.h++ *.idl *.odl
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
 
 FILE_PATTERNS          = 
@@ -379,6 +474,7 @@
 EXCLUDE                = 
 
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories 
-# that are symbolic links (a Unix filesystem feature) are excluded from the input.
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
+# directories that are symbolic links (a Unix filesystem feature) are excluded 
+# from the input.
 
 EXCLUDE_SYMLINKS       = NO
@@ -421,7 +517,17 @@
 # is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
 # input file. Doxygen will then use the output that the filter program writes 
-# to standard output.
+# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
+# ignored.
 
 INPUT_FILTER           = 
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
+# basis.  Doxygen will compare the file name with each pattern and apply the 
+# filter if there is a match.  The filters are a list of the form: 
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
+# is applied to all files.
+
+FILTER_PATTERNS        = 
 
 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
@@ -436,5 +542,7 @@
 
 # If the SOURCE_BROWSER tag is set to YES then a list of source files will 
-# be generated. Documented entities will be cross-referenced with these sources.
+# be generated. Documented entities will be cross-referenced with these sources. 
+# Note: To get rid of all source code in the generated output, make sure also 
+# VERBATIM_HEADERS is set to NO.
 
 SOURCE_BROWSER         = NO
@@ -462,4 +570,10 @@
 
 REFERENCES_RELATION    = YES
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
 
 #---------------------------------------------------------------------------
@@ -519,8 +633,10 @@
 HTML_FOOTER            = 
 
-# The HTML_STYLESHEET tag can be used to specify a user defined cascading 
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
 # style sheet that is used by each HTML page. It can be used to 
 # fine-tune the look of the HTML output. If the tag is left blank doxygen 
-# will generate a default style sheet
+# will generate a default style sheet. Note that doxygen will try to copy 
+# the style sheet file to the HTML output directory, so don't put your own 
+# stylesheet in the HTML output directory as well, or it will be erased!
 
 HTML_STYLESHEET        = 
@@ -542,5 +658,5 @@
 # be used to specify the file name of the resulting .chm file. You 
 # can add a path in front of the file if the result should not be 
-# written to the html output dir.
+# written to the html output directory.
 
 CHM_FILE               = 
@@ -548,6 +664,6 @@
 # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
 # be used to specify the location (absolute path including file name) of 
-# the HTML help compiler (hhc.exe). If non empty doxygen will try to run 
-# the html help compiler on the generated index.hhp.
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
+# the HTML help compiler on the generated index.hhp.
 
 HHC_LOCATION           = 
@@ -566,5 +682,5 @@
 
 # The TOC_EXPAND flag can be set to YES to add extra items for group members 
-# to the contents of the Html help documentation and to the tree view.
+# to the contents of the HTML help documentation and to the tree view.
 
 TOC_EXPAND             = NO
@@ -677,5 +793,5 @@
 
 # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
-# The RTF output is optimised for Word 97 and may not look very pretty with 
+# The RTF output is optimized for Word 97 and may not look very pretty with 
 # other RTF readers or editors.
 
@@ -704,5 +820,5 @@
 
 # Load stylesheet definitions from file. Syntax is similar to doxygen's 
-# config file, i.e. a series of assigments. You only have to provide 
+# config file, i.e. a series of assignments. You only have to provide 
 # replacements, missing definitions are set to their default value.
 
@@ -748,9 +864,13 @@
 # If the GENERATE_XML tag is set to YES Doxygen will 
 # generate an XML file that captures the structure of 
-# the code including all documentation. Note that this 
-# feature is still experimental and incomplete at the 
-# moment.
+# the code including all documentation.
 
 GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
 
 # The XML_SCHEMA tag can be used to specify an XML schema, 
@@ -765,4 +885,11 @@
 
 XML_DTD                = 
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
+# dump the program listings (including syntax highlighting 
+# and cross-referencing information) to the XML output. Note that 
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
 
 #---------------------------------------------------------------------------
@@ -856,5 +983,7 @@
 # gcc). The argument of the tag is a list of macros of the form: name 
 # or name=definition (no spaces). If the definition and the = are 
-# omitted =1 is assumed.
+# omitted =1 is assumed. To prevent a macro definition from being 
+# undefined via #undef or recursively expanded use the := operator 
+# instead of the = operator.
 
 PREDEFINED             = 
@@ -870,11 +999,11 @@
 # doxygen's preprocessor will remove all function-like macros that are alone 
 # on a line, have an all uppercase name, and do not end with a semicolon. Such 
-# function macros are typically used for boiler-plate code, and will confuse the 
-# parser if not removed.
+# function macros are typically used for boiler-plate code, and will confuse 
+# the parser if not removed.
 
 SKIP_FUNCTION_MACROS   = YES
 
 #---------------------------------------------------------------------------
-# Configuration::addtions related to external references   
+# Configuration::additions related to external references   
 #---------------------------------------------------------------------------
 
@@ -923,8 +1052,9 @@
 
 # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
-# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or 
-# super classes. Setting the tag to NO turns the diagrams off. Note that this 
-# option is superceded by the HAVE_DOT option below. This is only a fallback. It is 
-# recommended to install and use dot, since it yield more powerful graphs.
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
+# or super classes. Setting the tag to NO turns the diagrams off. Note that 
+# this option is superseded by the HAVE_DOT option below. This is only a 
+# fallback. It is recommended to install and use dot, since it yields more 
+# powerful graphs.
 
 CLASS_DIAGRAMS         = YES
@@ -957,4 +1087,15 @@
 COLLABORATION_GRAPH    = YES
 
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
+# collaboration diagrams in a style similar to the OMG's Unified Modeling 
+# Language.
+
+UML_LOOK               = NO
+
 # If set to YES, the inheritance and collaboration graphs will show the 
 # relations between templates and their instances.
@@ -976,8 +1117,23 @@
 INCLUDED_BY_GRAPH      = YES
 
+# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
+# generate a call dependency graph for every global function or class method. 
+# Note that enabling this option will significantly increase the time of a run. 
+# So in most cases it will be better to enable call graphs for selected 
+# functions only using the \callgraph command.
+
+CALL_GRAPH             = NO
+
 # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
 # will graphical hierarchy of all classes instead of a textual one.
 
 GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES 
+# then doxygen will show the dependencies a directory has on other directories 
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH        = YES
 
 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
@@ -988,5 +1144,5 @@
 
 # The tag DOT_PATH can be used to specify the path where the dot tool can be 
-# found. If left blank, it is assumed the dot tool can be found on the path.
+# found. If left blank, it is assumed the dot tool can be found in the path.
 
 DOT_PATH               = 
@@ -1016,12 +1172,28 @@
 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
 # graphs generated by dot. A depth value of 3 means that only nodes reachable 
-# from the root by following a path via at most 3 edges will be shown. Nodes that 
-# lay further from the root node will be omitted. Note that setting this option to 
-# 1 or 2 may greatly reduce the computation time needed for large code bases. Also 
-# note that a graph may be further truncated if the graph's image dimensions are 
-# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). 
-# If 0 is used fot the depth value (the default), the graph is not depth constraint.
+# from the root by following a path via at most 3 edges will be shown. Nodes 
+# that lay further from the root node will be omitted. Note that setting this 
+# option to 1 or 2 may greatly reduce the computation time needed for large 
+# code bases. Also note that a graph may be further truncated if the graph's 
+# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH 
+# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), 
+# the graph is not depth-constrained.
 
 MAX_DOT_GRAPH_DEPTH    = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
+# background. This is disabled by default, which results in a white background. 
+# Warning: Depending on the platform used, enabling this option may lead to 
+# badly anti-aliased labels on the edges of a graph (i.e. they become hard to 
+# read).
+
+DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
+# files in one run (i.e. multiple -o and -T options on the command line). This 
+# makes dot run faster, but since only newer versions of dot (>1.8.10) 
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS      = NO
 
 # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
@@ -1032,5 +1204,5 @@
 
 # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
-# remove the intermedate dot files that are used to generate 
+# remove the intermediate dot files that are used to generate 
 # the various graphs.
 
@@ -1038,5 +1210,5 @@
 
 #---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine   
+# Configuration::additions related to the search engine   
 #---------------------------------------------------------------------------
 
@@ -1045,37 +1217,2 @@
 
 SEARCHENGINE           = NO
-
-# The CGI_NAME tag should be the name of the CGI script that 
-# starts the search engine (doxysearch) with the correct parameters. 
-# A script with this name will be generated by doxygen.
-
-CGI_NAME               = search.cgi
-
-# The CGI_URL tag should be the absolute URL to the directory where the 
-# cgi binaries are located. See the documentation of your http daemon for 
-# details.
-
-CGI_URL                = 
-
-# The DOC_URL tag should be the absolute URL to the directory where the 
-# documentation is located. If left blank the absolute path to the 
-# documentation, with file:// prepended to it, will be used.
-
-DOC_URL                = 
-
-# The DOC_ABSPATH tag should be the absolute path to the directory where the 
-# documentation is located. If left blank the directory on the local machine 
-# will be used.
-
-DOC_ABSPATH            = 
-
-# The BIN_ABSPATH tag must point to the directory where the doxysearch binary 
-# is installed.
-
-BIN_ABSPATH            = /usr/local/bin/
-
-# The EXT_DOC_PATHS tag can be used to specify one or more paths to 
-# documentation generated for other projects. This allows doxysearch to search 
-# the documentation for these projects as well.
-
-EXT_DOC_PATHS          = 
Index: /trunk/new-htdocs/conequery-vo.php
===================================================================
--- /trunk/new-htdocs/conequery-vo.php	(revision 96)
+++ /trunk/new-htdocs/conequery-vo.php	(revision 97)
@@ -15,5 +15,5 @@
 <?php 
 //
-//Need to enclose the following in a <?php structure else the <?xml will confuse things
+// Need to enclose the following in a <?php structure else having the <?xml will confuse things
 //
 echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
@@ -51,13 +51,13 @@
 if(($raj_degs!="") && !is_numeric($raj_degs)){
   $isError=True;
-  $errorMsg .= "RA value not a number.; ";
+  $errorMsg .= "RA value (" . $raj_degs . ") is not a number.; ";
 }
 if(($decj_degs!="") && !is_numeric($decj_degs)){
   $isError=True;
-  $errorMsg .= "DEC value not a number.; ";
+  $errorMsg .= "DEC value (" . $decj_degs . ") is not a number.; ";
 }
 if(($radius!="") && !is_numeric($radius)){
   $isError=True;
-  $errorMsg .= "SR value not a number.; ";
+  $errorMsg .= "SR value (" . $radius . ") is not a number.; ";
 }
 
@@ -65,5 +65,6 @@
 if( is_numeric($decj_degs) && (abs($decj_degs) > 90.) ){
   $isError = True;
-  $errorMsg .= "DEC value out of range; ";
+  $errorMsg .= "DEC value (" . $decj_degs . ") is out of range; ";
+    //  $errorMsg .= "DEC value is out of range; ";
 }
 
@@ -71,5 +72,5 @@
 if( is_numeric($radius) && ($radius < 0.) ){
   $isError = True;
-  $errorMsg .= "SR value is negative; ";
+  $errorMsg .= "SR value (" . $radius . ") is negative; ";
 }
 
Index: /trunk/new-htdocs/xmlFunctions.php
===================================================================
--- /trunk/new-htdocs/xmlFunctions.php	(revision 96)
+++ /trunk/new-htdocs/xmlFunctions.php	(revision 97)
@@ -1,9 +1,9 @@
 <?php
 
-///////////////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////
 //
 // Function definitions necessary to create XML/VOTABLE files.
 //
-///////////////////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////
 
 function print_column_headers_VO() {
Index: /trunk/src/pvo-metadata.cc
===================================================================
--- /trunk/src/pvo-metadata.cc	(revision 96)
+++ /trunk/src/pvo-metadata.cc	(revision 97)
@@ -16,4 +16,15 @@
     void Metadata::define(FITS::PSRFits fitsfile)
     {
+      /**
+       * Define a set of metadata.
+       *
+       * This takes a FITS file and reads in all desired metadata
+       * fields from it. If certain fields are not present, the
+       * appropriate NULL value is recorded (such as Meta::nullString
+       * or Meta::nullFloat).
+       *
+       * \param fitsfile The PSRFits object containing the FITS file
+       *                  information.
+       */
 
       this->filename = fitsfile.getFITSname();
@@ -88,5 +99,4 @@
       if(fitsfile.readColumnValue("TBIN",1,&this->tbin)!=0) 
 	this->tbin = nullFloat;
-//       else this->tbin *= 1000.;
       if(!(this->tbin>0.)) this->tbin = nullFloat;
 
@@ -100,20 +110,67 @@
 
     }
+    //----------------------------------------------------
+    void Metadata::setAngSep(float ra, float dec)
+    {
+      /**
+       * Set the value of the Metadata::angsep parameter, being the
+       * angular separation from a given (ra, dec) position, in
+       * degrees.
+       *
+       * \param ra The right ascension of the base position.
+       * \param dec The declination of the base position.
+       */ 
+      this->angsep = angSep(ra, dec, rajd, decjd); 
+      this->sepFlag=true;
+    }
+    //----------------------------------------------------
 
     bool Metadata::close(float radius)
     {
+      /**
+       * Uses the metadata quantity Meta::Metadata::angsep to
+       * determine if the current object is within the given radius of
+       * some position. The angsep quantity needs to have been defined
+       * previously.
+       *
+       * \param radius The maximum separation, in degrees, that will
+       *                return true.
+       * \return True if angsep is less than the radius plus half the
+       *          beamsize. False otherwise.
+       */
       if(this->angsep < 0.) return false;
       else return (this->angsep < (radius + 0.5*this->beamsize));
     }
+    //----------------------------------------------------
 
     bool Metadata::close(float ra, float dec, float radius)
     {
+      /**
+       * Determines whether the current object is within the given
+       * radius of a given position. This function defines the
+       * Metadata::angsep quantity in the process. 
+       *
+       * \param ra The right ascension of the base position.
+       * \param dec The declination of the base position.
+       * \param radius The maximum separation, in degrees, from the
+       *                base position that will return true.
+       * \return True if angsep is less than the radius plus half the
+       *          beamsize. False otherwise.
+       */
       this->setAngSep(ra,dec);
       return (angsep < (radius+0.5*this->beamsize));
     }
-
+    //----------------------------------------------------
 
     std::string floatToString(float f)
     {
+      /**
+       *  Convert a float value to a string, using the default
+       *  precision of Meta::fltwidth. If the value is null, return
+       *  the null string.
+       *  \param f The float value.
+       *  \return A string showing the value, or the null string if
+       *           appropriate.
+       */
       if(f > nullFloat){
 	std::stringstream ss;
@@ -123,7 +180,16 @@
       else return nullString;
     }
+    //----------------------------------------------------
 
     std::string doubleToString(double d)
     {
+      /**
+       *  Convert a double value to a string, using the default
+       *  precision of Meta::dubwidth. If the value is null, return
+       *  the null string.
+       *  \param d The double value.
+       *  \return A string showing the value, or the null string if
+       *           appropriate.
+       */
       if(d > nullFloat){
 	std::stringstream ss;
@@ -133,7 +199,16 @@
       else return nullString;
     }
+    //----------------------------------------------------
 
     std::string doubleToString(double d, int prec)
     {
+      /**
+       *  Convert a double value to a string, using the precision of
+       *  prec. If the value is null, return the null string.
+       *  \param d The double value.
+       *  \param prec The desired precision.
+       *  \return A string showing the value, or the null string if
+       *           appropriate.
+       */
       if(d > nullFloat){
 	std::stringstream ss;
@@ -143,7 +218,15 @@
       else return nullString;
     }
+    //----------------------------------------------------
 
     std::string intToString(int i)
     {
+      /**
+       *  Convert an int value to a string. If the value is null,
+       *  return the null string.
+       *  \param i The int value.
+       *  \return A string showing the value, or the null string if
+       *           appropriate.
+       */
       if(i > nullInt){
 	std::stringstream ss;
@@ -153,25 +236,51 @@
       else return nullString;
     }
+    //----------------------------------------------------
 
     void printMetadataShort(std::ostream &theStream, Metadata data)
     {
+      /**
+       * A front-end to printMetadataShort(std::ostream,
+       * std::vector<Metadata>).
+       */
       std::vector<Metadata> datalist;
       datalist.push_back(data);
       printMetadataShort(theStream, datalist);
     }
+    //----------------------------------------------------
 
     void printMetadataShort(std::ostream &theStream, std::vector<Metadata> datalist)
     {
+      /**
+       * Prints out the summary list of metadata to the desired
+       * ostream. The summary list is a short list of columns,
+       * designed for easy reading on a terminal. The columns are:
+       * FILENAME, SRC_NAME, RAJ, DECJ, BEAM FWHM, OBSFREQ, SCANLEN,
+       * DATE-OBS. The widths of the columns are fixed, except for the
+       * first two, which expand in size to fit the data.
+       *
+       * \param theStream Where the data should be printed.
+       * \param datalist The vector of Metadata objects that describe
+       *                  the metadata.
+       */
       int filenameSize = 8; // size of "FILENAME"
+      int srcNameSize = 8;  // size of "SRC_NAME"
+      int width;
       unsigned int i;
-      for(i=0;i<datalist.size();i++) 
-	filenameSize = std::max(filenameSize,int(datalist[i].getFilename().size()));
-    
+      for(i=0;i<datalist.size();i++){
+	filenameSize = std::max(filenameSize,
+				int(datalist[i].getFilename().size()));
+	srcNameSize = std::max(srcNameSize,
+			       int(datalist[i].getSrcname().size()));
+      }
+      width = filenameSize+srcNameSize+2+15+15+31+11+11+11;
+
       theStream << std::setfill('-')  
-		<< std::setw(filenameSize+1+15+15+31+11+11+11) << "-";
+		<< std::setw(width) << "-";
       if(datalist[0].showSep()) theStream << std::setw(13) << "-";
 
       theStream << "\n" << std::setfill(' ') 
 		<< std::setw(filenameSize) << "FILENAME"  << " "
+		<< std::setw(srcNameSize)  << "SRC_NAME"  << " "
 		<< std::setw(14)           << "RAJ"       << " "
 		<< std::setw(14)           << "DECJ"      << " "
@@ -185,4 +294,5 @@
      
       theStream << std::setw(filenameSize) << ""          << " "
+		<< std::setw(srcNameSize)  << ""          << " "
 		<< std::setw(14)           << "[deg]"     << " "
 		<< std::setw(14)           << "[deg]"     << " "
@@ -196,5 +306,5 @@
 
       theStream << std::setfill('-')  
-		<< std::setw(filenameSize+1+15+15+31+11+11+11) << "-";
+		<< std::setw(width) << "-";
       if(datalist[0].showSep()) theStream << std::setw(13) << "-";
       theStream << "\n"<< std::setfill(' ') ;
@@ -202,38 +312,59 @@
       for(i=0;i<datalist.size();i++){
 
-	theStream << std::setw(filenameSize) << datalist[i].getFilename() << " ";
+	theStream << std::setw(filenameSize) 
+		  << datalist[i].getFilename() << " ";
+	theStream << std::setw(srcNameSize) 
+		  << datalist[i].getSrcname() << " ";
 
 	if(datalist[0].showSep())
 	  theStream << std::setprecision(6)
-		    << std::setw(14)         << datalist[i].getRaD()       << " "
-		    << std::setw(14)         << datalist[i].getDecD()      << " ";
+		    << std::setw(14)<< datalist[i].getRaD() << " "
+		    << std::setw(14)<< datalist[i].getDecD()<< " ";
 	else
-	  theStream << std::setw(14)         << datalist[i].getRaS()       << " "
-		    << std::setw(14)         << datalist[i].getDecS()      << " ";
+	  theStream << std::setw(14)<< datalist[i].getRaS() << " "
+		    << std::setw(14)<< datalist[i].getDecS()<< " ";
 
 	theStream << std::setprecision(4)
-		  << std::setw(10)           << floatToString(datalist[i].getBeamsize()) << " "
-		  << std::setw(10)           << floatToString(datalist[i].getObsfreq())  << " "
-		  << std::setw(10)           << floatToString(datalist[i].getScanlen())  << " "
-		  << std::setw(30)           << datalist[i].getDate();
+		  << std::setw(10)<< floatToString(datalist[i].getBeamsize())<< " "
+		  << std::setw(10)<< floatToString(datalist[i].getObsfreq()) << " "
+		  << std::setw(10)<< floatToString(datalist[i].getScanlen()) << " "
+		  << std::setw(30)<< datalist[i].getDate();
 
 	if(datalist[0].showSep()) 
-	  theStream << " " << std::setw(12)  << floatToString(datalist[i].getAngSep())   << "\n";
+	  theStream << " " 
+		    << std::setw(12)<< floatToString(datalist[i].getAngSep())<< "\n";
 	else theStream << "\n";
-
-      }
-
-
-    }
+	
+      }
+
+
+    }
+    //----------------------------------------------------
 
     void printMetadataFull(std::string filename, Metadata data)
     {
+      /**
+       * A front-end to printMetadataFull(std::string,
+       * std::vector<Metadata>).
+       */
       std::vector<Metadata> datalist;
       datalist.push_back(data);
       printMetadataFull(filename, datalist);
     }
+    //----------------------------------------------------
 
     void printMetadataFull(std::string filename, std::vector<Metadata> datalist)
     {
+      /**
+       * Prints out the full list of metadata for a set of objects to
+       * the desired file given by filename. The metadata are printed
+       * in csv (comma-separated values) format, and all metadata are
+       * printed.
+       *
+       * \param filename The name of the file to which the data should
+       *                  be printed.
+       * \param datalist The vector of Metadata objects that describe
+       *                  the metadata.
+       */
       std::ofstream fileout(filename.c_str());
 
Index: /trunk/src/pvo-metadata.hh
===================================================================
--- /trunk/src/pvo-metadata.hh	(revision 96)
+++ /trunk/src/pvo-metadata.hh	(revision 97)
@@ -22,8 +22,10 @@
     std::string intToString(int i);
 
+    /** The information used by "pvosummary -p" */
     const std::string metadataList=
  "List of parameters used in pvosummary.\n\n\
 Basic parameters written to screen:\n\
  FILENAME       The FITS file.\n\
+ SRC_NAME       The SRC_NAME FITS keyword.\n\
  RAJ            Right Ascension, hh:mm:ss.ss\n\
  DECJ           Declination, dd:mm:ss.sss \n\
@@ -38,5 +40,5 @@
  Survey         Which survey the data comes from:\n\
                   left blank if not known or not a survey file.\n\
- Source Name    The SRC_NAME keyword.\n\
+ Source Name    The SRC_NAME FITS keyword (printed as SRC_NAME to screen).\n\
  RAJd           Right Ascension, in decimal degrees.\n\
  DecJd          Declination, in decimal degrees.\n\
@@ -69,5 +71,5 @@
       };
 
-      void        setAngSep(float ra, float dec){angsep = angSep(ra, dec, rajd, decjd); sepFlag=true;};
+      void        setAngSep(float ra, float dec);
       bool        close(float radius);
       bool        close(float ra, float dec, float radius);
@@ -153,7 +155,11 @@
     };
 
+    /** Print summary of a set of metadata to a stream */
     void printMetadataShort(std::ostream &theStream, Metadata data);
+    /** Print summary of a list of metadata sets to a stream */
     void printMetadataShort(std::ostream &theStream, std::vector<Metadata> datalist);
+    /** Print an entire set of metadata to a stream */
     void printMetadataFull(std::string filename, Metadata data);
+    /** Print the full set of a list of metadata sets to a stream */
     void printMetadataFull(std::string filename, std::vector<Metadata> datalist);
 
Index: /trunk/src/pvo-utils.hh
===================================================================
--- /trunk/src/pvo-utils.hh	(revision 96)
+++ /trunk/src/pvo-utils.hh	(revision 97)
@@ -61,5 +61,5 @@
   current directory (example 1), or a single FITS file (example 2).\n\
  The parameters printed out are:\n\
-   FILENAME, RAJ, DECJ, BEAM FWHM, OBSFREQ, SCANLEN, DATE-OBS\n\
+   FILENAME, SRC_NAME, RAJ, DECJ, BEAM FWHM, OBSFREQ, SCANLEN, DATE-OBS\n\
  If a keyword is not present, "+nullString+" is printed.\n\
  The full set of parameters can be written in csv format to a file using the\n\
