===============================================================================

making tags for emacs

 1059  find pose kinematics scoring optimization  -name "*.cc" -o -name "*.hh" > etagsfiles
 1062  etags --language=c++ `cat etagsfiles `

===============================================================================

Here are the modifications I made to the default Doxyfile generated by
"doxygen -g"

krazy kinematics$ diff Doxyfile Doxyfile.phil 
33c33,34
< OUTPUT_DIRECTORY       = 
---
> OUTPUT_DIRECTORY       = doxy_test2
215c216
< EXTRACT_ALL            = NO
---
> EXTRACT_ALL            = YES
220c221
< EXTRACT_PRIVATE        = NO
---
> EXTRACT_PRIVATE        = YES
225c226
< EXTRACT_STATIC         = NO
---
> EXTRACT_STATIC         = YES
426c427,428
< INPUT                  = 
---
> INPUT                  = /work/pbradley/rosettapp/mini/src/core/kinematics
435c437
< FILE_PATTERNS          = 
---
> FILE_PATTERNS          = *.cc *.hh
441c443
< RECURSIVE              = NO
---
> RECURSIVE              = YES
693c695
< GENERATE_LATEX         = YES
---
> GENERATE_LATEX         = NO

===============================================================================
Interesting note on how doxygen handles comments before the declaration
vs before the definition 
(taken from http://www.stack.nl/~dimitri/doxygen/docblocks.html#specialblock)

"Furthermore, if there is one brief description before a declaration and one
before a definition of a code item, only the one before the declaration will
be used. If the same situation occurs for a detailed description, the one
before the definition is preferred and the one before the declaration will be
ignored.

in sumary: 

brief-- prefer before declaration
detailed-- prefer before definition

in fact, however, in tests on class member functions I see just the opposite
behavior, namely that the brief description comes from the .cc file and
the detailed description from the .hh file. Weird!!!

===============================================================================

filtering out extra junk from the doxygen errors

egrep -v 'skipping the|ignoring.*description|unknown command|already doc' phil.err > phil.err_trimmed

===============================================================================
response to email wondering why we have {PHI,THETA,...} but no PSI?

Those are the atomtree dof types: PHI is a bond torsion, THETA is a bond
angle, and D is a bond length. So any torsion angle would have dof-type ==
PHI. The DOF_ID would uniquely specify the degree of freedom by telling
which atom it's associated with. THere's a parallel TorsionID system for
describing just the torsion angles in a more user-friendly description:
                                                                             
TorsionID : (rsd, torsion_type, torsion_number )
                                                           
in this scheme phi of rsd 30 would be                   
                                                                           
phi of 30   : ( 30, BB, 1 )                                                  
omega of 30 : ( 30, BB, 3 )                                                  
chi2 of 60  : ( 60, CHI, 2 )                                                 
                                                                             
gamma of dna residue 5 : ( 5, BB, 3 )                                        
                                                                             
etc etc                                                                       
                                                                              
Then there are conversion routines that map from the TOrsionID to the         
DOF_ID, eg Conformation::dof_id_from_torsion_id, and                          
kinematics::setup_dof_to_torsion_map.                                         
                                                                               
===============================================================================
===============================================================================
===============================================================================
===============================================================================
===============================================================================
