Index: trunk/archive/scripts/src/papFocalPlane.h
===================================================================
--- trunk/archive/scripts/src/papFocalPlane.h	(revision 4386)
+++ trunk/archive/scripts/src/papFocalPlane.h	(revision 4694)
@@ -18,6 +18,7 @@
     const psMetadata *camera;		// Camera configuration
     psDB *db;				// Database
-    psMetadata *chips;			// The chips (referred to by name)
+    psArray *chips;			// The chips
     // FITS data
+    const char *extname;		// Extension name, if it corresponds to this level
     psArray *pixels;			// The pixel data, if it corresponds to this level
     psMetadata *header;			// The FITS header, if it corresponds to this level
@@ -33,6 +34,8 @@
     // Information
     psMetadata *values;			// Important values (cached)
-    psMetadata *cells;			// The cells (referred to by name)
+    psArray *cells;			// The cells (referred to by name)
+    papFPA *parent;			// Parent FPA
     // FITS data
+    const char *extname;		// Extension name, if it corresponds to this level
     psArray *pixels;			// The pixel data, if it corresponds to this level
     psMetadata *header;			// The FITS header, if it corresponds to this level
@@ -52,5 +55,7 @@
     psMetadata *values;			// Important values (cached)
     psArray *readouts;			// The readouts (referred to by number)
+    papChip *parent;			// Parent chip
     // FITS data
+    const char *extname;		// Extension name, if it corresponds to this level
     psArray *pixels;			// The pixel data, if it corresponds to this level
     psMetadata *header;			// The FITS header, if it corresponds to this level
@@ -74,29 +79,19 @@
 
 // Look for a particular value for a given cell (referred to by FPA+chip+cell)
-psMetadataItem *psCellGetValue(papFPA *fpa, // The FPA that contains the cell
-			       const char *chipName, // The name of the chip
-			       const char *cellName, // The name of the cell
+psMetadataItem *psCellGetValue(papCell *cell, // The cell
 			       const char *valueName // Name of value
     );
 
 // Type-specific functions provided as a convenience to the user
-float psCellGetValueF32(papFPA *fpa, // The FPA that contains the cell
-			const char *chipName, // The name of the chip
-			const char *cellName, // The name of the cell
+float psCellGetValueF32(papCell *cell, // The cell
 			const char *valueName // Name of value
 			);
-int psCellGetValueS32(papFPA *fpa, // The FPA that contains the cell
-		      const char *chipName, // The name of the chip
-		      const char *cellName, // The name of the cell
+int psCellGetValueS32(papCell *cell, // The cell
 		      const char *valueName // Name of value
 		      );
-double psCellGetValueF64(papFPA *fpa, // The FPA that contains the cell
-			 const char *chipName, // The name of the chip
-			 const char *cellName, // The name of the cell
+double psCellGetValueF64(papCell *cell, // The cell
 			 const char *valueName // Name of value
 			 );
-psString psCellGetValueString(papFPA *fpa, // The FPA that contains the cell
-			      const char *chipName, // The name of the chip
-			      const char *cellName, // The name of the cell
+psString psCellGetValueString(papCell *cell, // The cell
 			      const char *valueName // Name of value
 			      );
@@ -110,11 +105,10 @@
 
 papChip *papChipAlloc(papFPA *fpa,	// FPA to which the chip belongs
-		    const char *name	// Name of the chip
+		      psString name	// Name of chip
     );
 void p_papChipFree(papChip *chip);
 
 papCell *papCellAlloc(papChip *chip,	// Chip to which the cell belongs
-		      const char *name,	// Name of the cell
-		      int nReadouts	// Number of readouts contained
+		      psString name	// Name of cell
     );
 void p_papCellFree(papCell *cell);
