00001 /* @file pmHDUUtils.h 00002 * @brief Utility functions for working with an HDU 00003 * 00004 * @author Paul Price, IfA 00005 * 00006 * @version $Revision: 1.8 $ $Name: $ 00007 * @date $Date: 2007/01/24 02:54:14 $ 00008 * Copyright 2005-2006 Institute for Astronomy, University of Hawaii 00009 */ 00010 00011 #ifndef PM_HDU_UTILS_H 00012 #define PM_HDU_UTILS_H 00013 00014 /// @addtogroup Camera Camera Layout 00015 /// @{ 00016 00017 #include "pmFPA.h" 00018 #include "pmHDU.h" 00019 00020 /// Get the lowest HDU in the hierarchy 00021 /// 00022 /// The lowest HDU in the hierarchy will be the one with the actual pixels (if all levels are supplied). 00023 pmHDU *pmHDUGetLowest(const pmFPA *fpa, ///< The FPA 00024 const pmChip *chip, ///< The chip, or NULL 00025 const pmCell *cell ///< The cell, or NULL 00026 ); 00027 00028 /// Get the highest HDU in the hierarchy 00029 /// 00030 /// The highest HDU in the hierarchy will be the PHU (might get NULL if not all levels are supplied) 00031 pmHDU *pmHDUGetHighest(const pmFPA *fpa, ///< The FPA 00032 const pmChip *chip, ///< The chip, or NULL 00033 const pmCell *cell ///< The cell, or NULL 00034 ); 00035 00036 /// Given an FPA, return the HDU (or NULL if all HDUs reside below the FPA) 00037 pmHDU *pmHDUFromFPA(const pmFPA *fpa ///< FPA for which to find HDU 00038 ); 00039 00040 /// Given a chip, return the HDU (or NULL if it resides below the chip) 00041 pmHDU *pmHDUFromChip(const pmChip *chip ///< Chip for which to find HDU 00042 ); 00043 00044 /// Given a cell, return the HDU 00045 pmHDU *pmHDUFromCell(const pmCell *cell ///< Cell for which to find HDU 00046 ); 00047 00048 /// Given a readout, return the HDU 00049 pmHDU *pmHDUFromReadout(const pmReadout *readout ///< Readout for which to find HDU 00050 ); 00051 00052 /// Print details about an HDU 00053 /// 00054 /// This is intended for testing or development use. 00055 void pmHDUPrint(FILE *fd, ///< File descriptor to which to print 00056 const pmHDU *hdu, ///< HDU to print 00057 int level, ///< Level at which to print 00058 bool header ///< Print header? 00059 ); 00060 /// @} 00061 #endif
1.5.1