Index: trunk/psModules/src/camera/pmFPAview.h
===================================================================
--- trunk/psModules/src/camera/pmFPAview.h	(revision 9584)
+++ trunk/psModules/src/camera/pmFPAview.h	(revision 9710)
@@ -1,15 +1,15 @@
-/** @file  pmFPAview.h
-*
-*  @brief Tools to manipulate the FPA structure elements.
-*
-*  @ingroup AstroImage
-*
-*  @author EAM, IfA
-*
-*  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-10-17 00:33:56 $
-*
-*  Copyright 2004-2005 Institute for Astronomy, University of Hawaii
-*/
+/// @file pmFPA.h
+///
+/// @brief Tools to manipulate the FPA structure elements.
+///
+/// @ingroup Camera
+///
+/// @author Eugene Magnier, IfA
+///
+/// @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+/// @date $Date: 2006-10-21 04:02:36 $
+///
+/// Copyright 2005-2006 Institute for Astronomy, University of Hawaii
+///
 
 #ifndef PM_FPA_VIEW_H
@@ -19,47 +19,96 @@
 #include "pmFPALevel.h"
 
-/// @addtogroup AstroImage
-/// @{
-
+/// Identifier for FPA components
+///
+/// This structure allows the identification of a single component of the focal plane hierarchy (or multiple,
+/// if we consider selecting all those components below the selected component).  Components are identified on
+/// the basis of their chip, cell, readout index.  An index of -1 means all components at that level.
+/// Additionally, since readouts may be read piecemeal, there are additional indices for these.
 typedef struct
 {
-    int chip;                           // Number of the chip, or -1 for all
-    int cell;                           // Number of the cell, or -1 for all
-    int readout;                        // Number of the readout, or -1 for all
-    int nRows;                          // Maximum number of rows per readout segment read, or 0 for all
-    int iRows;                          // Starting point for this read
+    int chip;                           ///< Number of the chip, or -1 for all
+    int cell;                           ///< Number of the cell, or -1 for all
+    int readout;                        ///< Number of the readout, or -1 for all
+    int nRows;                          ///< Maximum number of rows per readout segment read, or 0 for all
+    int iRows;                          ///< Starting point for this read
 }
 pmFPAview;
 
-// allocate a pmFPAview structure for this fpa and camera
-pmFPAview *pmFPAviewAlloc (int nRows);
+/// Allocator for pmFPAview
+pmFPAview *pmFPAviewAlloc(int nRows     ///< Maximum number of rows per readout segment read, or 0 for all
+                         );
 
-// Reset a view
-bool pmFPAviewReset(pmFPAview *view);
+/// Reset a view to select all components
+bool pmFPAviewReset(pmFPAview *view     ///< View to reset
+                   );
 
-// determine the current view level
-pmFPALevel pmFPAviewLevel (const pmFPAview *view);
+/// Determine the current view level
+///
+/// Returns the level appropriate for the view
+pmFPALevel pmFPAviewLevel(const pmFPAview *view ///< View to examine
+                         );
 
-// return the currently selected chip for this view
-pmChip *pmFPAviewThisChip (const pmFPAview *view, pmFPA *fpa);
+// Lookups
 
-// advance view to the next chip
-pmChip *pmFPAviewNextChip (pmFPAview *view, pmFPA *fpa, int nStep);
+/// Return the currently selected chip for this view
+///
+/// Returns NULL if the selection is not specific or invalid
+pmChip *pmFPAviewThisChip(const pmFPAview *view, ///< Current view
+                          const pmFPA *fpa ///< FPA containing chip
+                         );
 
-// return the currently selected cell for this view
-pmCell *pmFPAviewThisCell (const pmFPAview *view, pmFPA *fpa);
+/// Return the currently selected cell for this view
+///
+/// Returns NULL if the selection is not specific or invalid
+pmCell *pmFPAviewThisCell(const pmFPAview *view, ///< Current view
+                          const pmFPA *fpa ///< FPA containing cell
+                         );
 
-// advance view to the next cell
-pmCell *pmFPAviewNextCell (pmFPAview *view, pmFPA *fpa, int nStep);
+/// Return the currently selected readout for this view
+///
+/// Returns NULL if the selection is not specific or invalid
+pmReadout *pmFPAviewThisReadout(const pmFPAview *view, ///< Current view
+                                const pmFPA *fpa ///< FPA containing readout
+                               );
 
-// return the currently selected readout for this view
-pmReadout *pmFPAviewThisReadout (const pmFPAview *view, pmFPA *fpa);
+// Incrementors
 
-// advance view to the next readout
-pmReadout *pmFPAviewNextReadout (pmFPAview *view, pmFPA *fpa, int nStep);
+/// Advance view to the next chip
+///
+/// Returns NULL if there is no next
+pmChip *pmFPAviewNextChip(pmFPAview *view, ///< Current view
+                          const pmFPA *fpa, ///< FPA containing chips
+                          int nStep     ///< Number of chips to increment
+                         );
 
-// return the HDU corresponding to the current view
-pmHDU *pmFPAviewThisHDU (const pmFPAview *view, pmFPA *fpa);
-pmHDU *pmFPAviewThisPHU (const pmFPAview *view, pmFPA *fpa);
+/// Advance view to the next cell
+///
+/// Returns NULL if there is no next
+pmCell *pmFPAviewNextCell(pmFPAview *view, ///< Current view
+                          const pmFPA *fpa, ///< FPA containing cells
+                          int nStep     ///< Number of cells to increment
+                         );
 
-# endif
+/// Advance view to the next readout
+///
+/// Returns NULL if there is no next
+pmReadout *pmFPAviewNextReadout(pmFPAview *view, ///< Current view
+                                const pmFPA *fpa, ///< FPA containing readouts
+                                int nStep ///< Number of readouts to increment
+                               );
+
+/// Return the HDU corresponding to the current view
+///
+/// Uses the pmHDUFrom* functions, combined with the view.
+pmHDU *pmFPAviewThisHDU(const pmFPAview *view, ///< Current view
+                        const pmFPA *fpa ///< FPA for view
+                       );
+
+/// Return the blank Primary HDU corresponding to the current view, if any
+///
+/// Similar to pmFPAviewThisHDU, except returns NULL if no HDU is found, or the HDU is not a blank Primary HDU
+pmHDU *pmFPAviewThisPHU(const pmFPAview *view, ///< Current view
+                        const pmFPA *fpa ///< FPA for view
+                       );
+
+#endif
