Sophie

Sophie

distrib > Fedora > 13 > i386 > media > os > by-pkgid > ecbd8c5b7568e331fe6ea5b9a07a78a0 > files > 11

CCfits-docs-2.2-2.fc13.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>CCfits: ExtHDU.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    </ul>
  </div>
<h1>ExtHDU.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//   Read the documentation to learn more about C++ code generator</span>
<a name="l00002"></a>00002 <span class="comment">//   versioning.</span>
<a name="l00003"></a>00003 <span class="comment">//      This is version 2.2 release dated Sep 2009</span>
<a name="l00004"></a>00004 <span class="comment">//      Astrophysics Science Division,</span>
<a name="l00005"></a>00005 <span class="comment">//      NASA/ Goddard Space Flight Center</span>
<a name="l00006"></a>00006 <span class="comment">//      HEASARC</span>
<a name="l00007"></a>00007 <span class="comment">//      http://heasarc.gsfc.nasa.gov</span>
<a name="l00008"></a>00008 <span class="comment">//      e-mail: ccfits@legacy.gsfc.nasa.gov</span>
<a name="l00009"></a>00009 <span class="comment">//</span>
<a name="l00010"></a>00010 <span class="comment">//      Original author: Ben Dorman</span>
<a name="l00011"></a>00011 
<a name="l00012"></a>00012 <span class="preprocessor">#ifndef EXTHDU_H</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define EXTHDU_H 1</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00015"></a>00015 <span class="comment">// CCfitsHeader</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &quot;CCfits.h&quot;</span>
<a name="l00017"></a>00017 <span class="comment">// HDU</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;HDU.h&quot;</span>
<a name="l00019"></a>00019 <span class="comment">// FitsError</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &quot;FitsError.h&quot;</span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 <span class="keyword">namespace </span>CCfits {
<a name="l00023"></a>00023   <span class="keyword">class </span>Column;
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 } <span class="comment">// namespace CCfits</span>
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="keyword">namespace </span>CCfits {
<a name="l00029"></a>00029 
<a name="l00417"></a><a class="code" href="classCCfits_1_1ExtHDU.html">00417</a>   <span class="keyword">class </span><a class="code" href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables.">ExtHDU</a> : <span class="keyword">public</span> <a class="code" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects.">HDU</a>  <span class="comment">//## Inherits: &lt;unnamed&gt;%38048213E7A8</span>
<a name="l00418"></a>00418   {
<a name="l00419"></a>00419 
<a name="l00420"></a>00420     <span class="keyword">public</span>:
<a name="l00421"></a>00421 
<a name="l00422"></a>00422 
<a name="l00423"></a>00423 
<a name="l00424"></a><a class="code" href="classCCfits_1_1ExtHDU_1_1WrongExtensionType.html">00424</a>       <span class="keyword">class </span><a class="code" href="classCCfits_1_1ExtHDU_1_1WrongExtensionType.html" title="Exception to be thrown on unmatched extension types.">WrongExtensionType</a> : <span class="keyword">public</span> <a class="code" href="classCCfits_1_1FitsException.html" title="FitsException is the base class for all exceptions thrown by this library.">FitsException</a>  <span class="comment">//## Inherits: &lt;unnamed&gt;%39E61E630349</span>
<a name="l00425"></a>00425       {
<a name="l00426"></a>00426         <span class="keyword">public</span>:
<a name="l00427"></a>00427             <a class="code" href="classCCfits_1_1ExtHDU_1_1WrongExtensionType.html#a1c51f9e5196cb93fc2afee6ad95665cd" title="Exception ctor, prefixes the string &amp;quot;Fits Error: wrong extension type&amp;quot;...">WrongExtensionType</a> (<span class="keyword">const</span> String&amp; msg, <span class="keywordtype">bool</span> silent = <span class="keyword">true</span>);
<a name="l00428"></a>00428 
<a name="l00429"></a>00429         <span class="keyword">protected</span>:
<a name="l00430"></a>00430         <span class="keyword">private</span>:
<a name="l00431"></a>00431         <span class="keyword">private</span>: <span class="comment">//## implementation</span>
<a name="l00432"></a>00432       };
<a name="l00433"></a>00433         <a class="code" href="classCCfits_1_1ExtHDU.html#a58be2cbfe5c11246e8c2269e3ffe69ee" title="copy constructor">ExtHDU</a>(<span class="keyword">const</span> <a class="code" href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables.">ExtHDU</a> &amp;right);
<a name="l00434"></a>00434         <span class="keyword">virtual</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a99d509bf1374ace30a48508dffad25d5" title="destructor">~ExtHDU</a>();
<a name="l00435"></a>00435         <span class="keyword">friend</span> <span class="keywordtype">bool</span> operator&lt;(<span class="keyword">const</span> <a class="code" href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables.">ExtHDU</a> &amp;left,<span class="keyword">const</span> <a class="code" href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables.">ExtHDU</a> &amp;right);
<a name="l00436"></a>00436 
<a name="l00437"></a>00437         <span class="keyword">friend</span> <span class="keywordtype">bool</span> operator&gt;(<span class="keyword">const</span> <a class="code" href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables.">ExtHDU</a> &amp;left,<span class="keyword">const</span> <a class="code" href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables.">ExtHDU</a> &amp;right);
<a name="l00438"></a>00438 
<a name="l00439"></a>00439         <span class="keyword">friend</span> <span class="keywordtype">bool</span> operator&lt;=(<span class="keyword">const</span> <a class="code" href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables.">ExtHDU</a> &amp;left,<span class="keyword">const</span> <a class="code" href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables.">ExtHDU</a> &amp;right);
<a name="l00440"></a>00440 
<a name="l00441"></a>00441         <span class="keyword">friend</span> <span class="keywordtype">bool</span> operator&gt;=(<span class="keyword">const</span> <a class="code" href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables.">ExtHDU</a> &amp;left,<span class="keyword">const</span> <a class="code" href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables.">ExtHDU</a> &amp;right);
<a name="l00442"></a>00442 
<a name="l00443"></a>00443         <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a921ed3185671c8647e844d4a60e9296f" title="read extension name.">readHduName</a> (<span class="keyword">const</span> fitsfile* fptr, <span class="keywordtype">int</span> hduIndex, String&amp; hduName, <span class="keywordtype">int</span>&amp; hduVersion);
<a name="l00444"></a>00444         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a166d6a339f64d7d8d4715d33ea75195b" title="read data from HDU depending on readFlag and keys.">readData</a> (<span class="keywordtype">bool</span> readFlag = <span class="keyword">false</span>, <span class="keyword">const</span> std::vector&lt;String&gt;&amp; keys = std::vector&lt;String&gt;()) = 0;
<a name="l00445"></a>00445         <span class="keyword">const</span> String&amp; <a class="code" href="classCCfits_1_1ExtHDU.html#af1128c49f0381473feff2cd9e5650dce" title="return the name of the extension.">name</a> () <span class="keyword">const</span>;
<a name="l00446"></a>00446         <span class="keyword">virtual</span> <a class="code" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects.">HDU</a> * <a class="code" href="classCCfits_1_1ExtHDU.html#ada85c7b4b9b38f6e410db8794779ed60" title="virtual copy constructor">clone</a> (FITSBase* p) <span class="keyword">const</span> = 0;
<a name="l00447"></a>00447         <span class="comment">//      By all means necessary, set the fitsfile pointer so that</span>
<a name="l00448"></a>00448         <span class="comment">//      this HDU is the current HDU.</span>
<a name="l00449"></a>00449         <span class="comment">//</span>
<a name="l00450"></a>00450         <span class="comment">//      This would appear to be a good candidate for the public</span>
<a name="l00451"></a>00451         <span class="comment">//      interface.</span>
<a name="l00452"></a>00452         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a16730a075858cd50bfa3daad60c0a1c0" title="move the fitsfile pointer to this current HDU.">makeThisCurrent</a> () <span class="keyword">const</span>;
<a name="l00453"></a>00453         <span class="keyword">virtual</span> <a class="code" href="classCCfits_1_1Column.html" title="Abstract base class for Column objects.">Column</a>&amp; <a class="code" href="classCCfits_1_1ExtHDU.html#ab121d5ab64abcc0a5df4ca7955bec2e9" title="return a reference to the array containing the columns.">column</a> (<span class="keyword">const</span> String&amp; colName, <span class="keywordtype">bool</span> caseSensitive = <span class="keyword">true</span>) <span class="keyword">const</span>;
<a name="l00454"></a>00454         <span class="keyword">virtual</span> <a class="code" href="classCCfits_1_1Column.html" title="Abstract base class for Column objects.">Column</a>&amp; <a class="code" href="classCCfits_1_1ExtHDU.html#ab121d5ab64abcc0a5df4ca7955bec2e9" title="return a reference to the array containing the columns.">column</a> (<span class="keywordtype">int</span> colIndex) <span class="keyword">const</span>;
<a name="l00455"></a>00455         <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classCCfits_1_1ExtHDU.html#ab94cb470d13b5a574728c49589963a36" title="return the number of rows in the extension.">rows</a> () <span class="keyword">const</span>;
<a name="l00456"></a>00456         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a1a4ee80da434b132a5b9015e3d939c11" title="add a new column to an existing table HDU.">addColumn</a> (ValueType type, <span class="keyword">const</span> String&amp; columnName, <span class="keywordtype">long</span> repeatWidth, <span class="keyword">const</span> String&amp; colUnit = String(<span class="stringliteral">&quot;&quot;</span>), <span class="keywordtype">long</span> decimals = -1, <span class="keywordtype">size_t</span> columnNumber = 0);
<a name="l00457"></a>00457         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#aaee3fda1eb075ef4ee7a9178114bd00d" title="delete a column in a Table extension by name.">deleteColumn</a> (<span class="keyword">const</span> String&amp; columnName);
<a name="l00458"></a>00458         <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a5a480387701525f75ea450dac7510f23" title="return the optimal number of rows to read or write at a time">getRowsize</a> () <span class="keyword">const</span>;
<a name="l00459"></a>00459         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classCCfits_1_1ExtHDU.html#af63318f88dad6665781c9d699324a3a3" title="return the number of Columns in the Table (the TFIELDS keyword).">numCols</a> () <span class="keyword">const</span>;
<a name="l00460"></a>00460         <span class="keyword">virtual</span> <span class="keyword">const</span> std::map&lt;string, Column*&gt;&amp; <a class="code" href="classCCfits_1_1ExtHDU.html#ab121d5ab64abcc0a5df4ca7955bec2e9" title="return a reference to the array containing the columns.">column</a> () <span class="keyword">const</span>;
<a name="l00461"></a>00461         <span class="keywordtype">int</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a5e2785377c404f05dc948db844c6eec7" title="return the extension version number.">version</a> () <span class="keyword">const</span>;
<a name="l00462"></a>00462         <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a5e2785377c404f05dc948db844c6eec7" title="return the extension version number.">version</a> (<span class="keywordtype">int</span> value);
<a name="l00463"></a>00463         <span class="keyword">static</span> <span class="keyword">const</span> String&amp; missHDU ();
<a name="l00464"></a>00464         <span class="keyword">static</span> <span class="keywordtype">void</span> setMissHDU (<span class="keyword">const</span> String&amp; value);
<a name="l00465"></a>00465 
<a name="l00466"></a>00466     <span class="keyword">public</span>:
<a name="l00467"></a>00467       <span class="comment">// Additional Public Declarations</span>
<a name="l00468"></a>00468 
<a name="l00469"></a>00469       <span class="comment">// interface is virtually identical to PHDU. The implementation is</span>
<a name="l00470"></a>00470       <span class="comment">// similar apart from a check for wrong extension type.</span>
<a name="l00471"></a>00471 
<a name="l00472"></a>00472 
<a name="l00473"></a>00473 
<a name="l00474"></a>00474 
<a name="l00475"></a>00475       <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
<a name="l00476"></a>00476       <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a444e15ad4193a0bef47067c7a3f753d3" title="Write a set of pixels to an image extension with the first pixel specified by an...">write</a>(<span class="keyword">const</span> std::vector&lt;long&gt;&amp; first,
<a name="l00477"></a>00477                     <span class="keywordtype">long</span> nElements,
<a name="l00478"></a>00478                     <span class="keyword">const</span> std::valarray&lt;S&gt;&amp; data,
<a name="l00479"></a>00479                     S* nullValue);
<a name="l00480"></a>00480 
<a name="l00481"></a>00481 
<a name="l00482"></a>00482       <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
<a name="l00483"></a>00483       <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a444e15ad4193a0bef47067c7a3f753d3" title="Write a set of pixels to an image extension with the first pixel specified by an...">write</a>(<span class="keywordtype">long</span> first,
<a name="l00484"></a>00484                     <span class="keywordtype">long</span> nElements,
<a name="l00485"></a>00485                     <span class="keyword">const</span> std::valarray&lt;S&gt;&amp; data,
<a name="l00486"></a>00486                     S* nullValue);                
<a name="l00487"></a>00487 
<a name="l00488"></a>00488       <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
<a name="l00489"></a>00489       <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a444e15ad4193a0bef47067c7a3f753d3" title="Write a set of pixels to an image extension with the first pixel specified by an...">write</a>(<span class="keyword">const</span> std::vector&lt;long&gt;&amp; first,
<a name="l00490"></a>00490                     <span class="keywordtype">long</span> nElements,
<a name="l00491"></a>00491                     <span class="keyword">const</span> std::valarray&lt;S&gt;&amp; data);
<a name="l00492"></a>00492 
<a name="l00493"></a>00493 
<a name="l00494"></a>00494       <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
<a name="l00495"></a>00495       <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a444e15ad4193a0bef47067c7a3f753d3" title="Write a set of pixels to an image extension with the first pixel specified by an...">write</a>(<span class="keywordtype">long</span> first,
<a name="l00496"></a>00496                     <span class="keywordtype">long</span> nElements,
<a name="l00497"></a>00497                     <span class="keyword">const</span> std::valarray&lt;S&gt;&amp; data);
<a name="l00498"></a>00498 
<a name="l00499"></a>00499       <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
<a name="l00500"></a>00500       <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a444e15ad4193a0bef47067c7a3f753d3" title="Write a set of pixels to an image extension with the first pixel specified by an...">write</a>(<span class="keyword">const</span> std::vector&lt;long&gt;&amp; firstVertex,
<a name="l00501"></a>00501                     <span class="keyword">const</span> std::vector&lt;long&gt;&amp; lastVertex,
<a name="l00502"></a>00502                     <span class="keyword">const</span> std::valarray&lt;S&gt;&amp; data);     
<a name="l00503"></a>00503 
<a name="l00504"></a>00504       <span class="comment">// read image data &amp; return the array. Can&apos;t return a reference because type</span>
<a name="l00505"></a>00505       <span class="comment">// conversion in general requires allocating a new object.</span>
<a name="l00506"></a>00506       <span class="comment">// note semantics of reading column data are easily distinguished: they require</span>
<a name="l00507"></a>00507       <span class="comment">// the user to perform the operation EXT.column({name,index}).read(...)</span>
<a name="l00508"></a>00508 
<a name="l00509"></a>00509       <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S&gt;
<a name="l00510"></a>00510       <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#ae1f8951fae4403f43230b94ae323d8d3" title="Read image data into container.">read</a> (std::valarray&lt;S&gt;&amp; image) ; 
<a name="l00511"></a>00511 
<a name="l00512"></a>00512       <span class="keyword">template</span>&lt;<span class="keyword">typename</span> S&gt; 
<a name="l00513"></a>00513       <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#ae1f8951fae4403f43230b94ae323d8d3" title="Read image data into container.">read</a> (std::valarray&lt;S&gt;&amp; image, 
<a name="l00514"></a>00514                       <span class="keywordtype">long</span> first,
<a name="l00515"></a>00515                       <span class="keywordtype">long</span> nElements, 
<a name="l00516"></a>00516                       S* nullValue) ; 
<a name="l00517"></a>00517 
<a name="l00518"></a>00518       <span class="keyword">template</span>&lt;<span class="keyword">typename</span> S&gt;
<a name="l00519"></a>00519       <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#ae1f8951fae4403f43230b94ae323d8d3" title="Read image data into container.">read</a> (std::valarray&lt;S&gt;&amp; image, 
<a name="l00520"></a>00520                       <span class="keyword">const</span> std::vector&lt;long&gt;&amp; first, 
<a name="l00521"></a>00521                       <span class="keywordtype">long</span> nElements, 
<a name="l00522"></a>00522                       S* nullValue) ; 
<a name="l00523"></a>00523 
<a name="l00524"></a>00524       <span class="keyword">template</span>&lt;<span class="keyword">typename</span> S&gt;
<a name="l00525"></a>00525       <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#ae1f8951fae4403f43230b94ae323d8d3" title="Read image data into container.">read</a> (std::valarray&lt;S&gt;&amp; image, 
<a name="l00526"></a>00526                       <span class="keyword">const</span> std::vector&lt;long&gt;&amp; firstVertex, 
<a name="l00527"></a>00527                       <span class="keyword">const</span> std::vector&lt;long&gt;&amp; lastVertex, 
<a name="l00528"></a>00528                       <span class="keyword">const</span> std::vector&lt;long&gt;&amp; stride) ; 
<a name="l00529"></a>00529 
<a name="l00530"></a>00530       <span class="keyword">template</span>&lt;<span class="keyword">typename</span> S&gt;
<a name="l00531"></a>00531       <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#ae1f8951fae4403f43230b94ae323d8d3" title="Read image data into container.">read</a> (std::valarray&lt;S&gt;&amp; image, 
<a name="l00532"></a>00532                       <span class="keywordtype">long</span> first,
<a name="l00533"></a>00533                       <span class="keywordtype">long</span> nElements) ; 
<a name="l00534"></a>00534 
<a name="l00535"></a>00535       <span class="keyword">template</span>&lt;<span class="keyword">typename</span> S&gt;
<a name="l00536"></a>00536       <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#ae1f8951fae4403f43230b94ae323d8d3" title="Read image data into container.">read</a> (std::valarray&lt;S&gt;&amp; image, 
<a name="l00537"></a>00537                       <span class="keyword">const</span> std::vector&lt;long&gt;&amp; first,
<a name="l00538"></a>00538                       <span class="keywordtype">long</span> nElements) ; 
<a name="l00539"></a>00539 
<a name="l00540"></a>00540       <span class="keyword">template</span>&lt;<span class="keyword">typename</span> S&gt;
<a name="l00541"></a>00541       <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#ae1f8951fae4403f43230b94ae323d8d3" title="Read image data into container.">read</a> (std::valarray&lt;S&gt;&amp; image, 
<a name="l00542"></a>00542                       <span class="keyword">const</span> std::vector&lt;long&gt;&amp; firstVertex, 
<a name="l00543"></a>00543                       <span class="keyword">const</span> std::vector&lt;long&gt;&amp; lastVertex, 
<a name="l00544"></a>00544                       <span class="keyword">const</span> std::vector&lt;long&gt;&amp; stride, 
<a name="l00545"></a>00545                       S* nullValue) ; 
<a name="l00546"></a>00546 
<a name="l00547"></a>00547     <span class="keyword">protected</span>:
<a name="l00548"></a>00548         <span class="comment">//      ExtHDU needs a default constructor. This is it.</span>
<a name="l00549"></a>00549         <a class="code" href="classCCfits_1_1ExtHDU.html#a58be2cbfe5c11246e8c2269e3ffe69ee" title="copy constructor">ExtHDU</a> (FITSBase* p, HduType xtype, <span class="keyword">const</span> String &amp;hduName, <span class="keywordtype">int</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a5e2785377c404f05dc948db844c6eec7" title="return the extension version number.">version</a>);
<a name="l00550"></a>00550         <span class="comment">//      The writing constructor. Forces the user to supply a name</span>
<a name="l00551"></a>00551         <span class="comment">//      for the HDU</span>
<a name="l00552"></a>00552         <a class="code" href="classCCfits_1_1ExtHDU.html#a58be2cbfe5c11246e8c2269e3ffe69ee" title="copy constructor">ExtHDU</a> (FITSBase* p, HduType xtype, <span class="keyword">const</span> String &amp;hduName, <span class="keywordtype">int</span> <a class="code" href="classCCfits_1_1HDU.html#a81a2d5b001c0ae7d0a298942940189d8" title="return the data type keyword.">bitpix</a>, <span class="keywordtype">int</span> naxis, <span class="keyword">const</span> std::vector&lt;long&gt;&amp; <a class="code" href="classCCfits_1_1HDU.html#a18bd99b5d72ace7e7b353102eb80793a" title="return the number of axes in the HDU data section (always 2 for tables).">axes</a>, <span class="keywordtype">int</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a5e2785377c404f05dc948db844c6eec7" title="return the extension version number.">version</a>);
<a name="l00553"></a>00553         <span class="comment">//      ExtHDU constructor for getting ExtHDUs by number.</span>
<a name="l00554"></a>00554         <span class="comment">//      Necessary since EXTNAME is a reserved not required</span>
<a name="l00555"></a>00555         <span class="comment">//      keyword.</span>
<a name="l00556"></a>00556         <a class="code" href="classCCfits_1_1ExtHDU.html#a58be2cbfe5c11246e8c2269e3ffe69ee" title="copy constructor">ExtHDU</a> (FITSBase* p, HduType xtype, <span class="keywordtype">int</span> number);
<a name="l00557"></a>00557 
<a name="l00558"></a>00558         <span class="keyword">virtual</span> std::ostream &amp; put (std::ostream &amp;s) <span class="keyword">const</span> = 0;
<a name="l00559"></a>00559         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setColumn (<span class="keyword">const</span> String&amp; colname, <a class="code" href="classCCfits_1_1Column.html" title="Abstract base class for Column objects.">Column</a>* value);
<a name="l00560"></a>00560         <span class="keyword">virtual</span> <span class="keywordtype">void</span> checkExtensionType () <span class="keyword">const</span>;
<a name="l00561"></a>00561         <span class="keywordtype">int</span> getVersion ();
<a name="l00562"></a>00562         <span class="keywordtype">long</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a088cce4e4843ea71af6047355be29c9d" title="return required pcount keyword value">pcount</a> () <span class="keyword">const</span>;
<a name="l00563"></a>00563         <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a088cce4e4843ea71af6047355be29c9d" title="return required pcount keyword value">pcount</a> (<span class="keywordtype">long</span> value);
<a name="l00564"></a>00564         <span class="keywordtype">long</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a010ebcefb99b5855c5347cfa0ce30dec" title="return required gcount keyword value">gcount</a> () <span class="keyword">const</span>;
<a name="l00565"></a>00565         <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a010ebcefb99b5855c5347cfa0ce30dec" title="return required gcount keyword value">gcount</a> (<span class="keywordtype">long</span> value);
<a name="l00566"></a>00566         HduType <a class="code" href="classCCfits_1_1ExtHDU.html#ad3a43454577309abb2ec1ebe97d3375b" title="return the extension type">xtension</a> () <span class="keyword">const</span>;
<a name="l00567"></a>00567         <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#ad3a43454577309abb2ec1ebe97d3375b" title="return the extension type">xtension</a> (HduType value);
<a name="l00568"></a>00568 
<a name="l00569"></a>00569       <span class="comment">// Additional Protected Declarations</span>
<a name="l00570"></a>00570 
<a name="l00571"></a>00571     <span class="keyword">private</span>:
<a name="l00572"></a>00572         <span class="keyword">virtual</span> <span class="keywordtype">void</span> initRead () = 0;
<a name="l00573"></a>00573         <span class="keywordtype">void</span> checkXtension ();
<a name="l00574"></a>00574 
<a name="l00575"></a>00575       <span class="comment">// Additional Private Declarations</span>
<a name="l00576"></a>00576 
<a name="l00577"></a>00577     <span class="keyword">private</span>: <span class="comment">//## implementation</span>
<a name="l00578"></a>00578       <span class="comment">// Data Members for Class Attributes</span>
<a name="l00579"></a>00579         <span class="keywordtype">long</span> m_pcount;
<a name="l00580"></a>00580         <span class="keywordtype">long</span> m_gcount;
<a name="l00581"></a>00581         <span class="keywordtype">int</span> m_version;
<a name="l00582"></a>00582         HduType m_xtension;
<a name="l00583"></a>00583         <span class="keyword">static</span> String s_missHDU;
<a name="l00584"></a>00584 
<a name="l00585"></a>00585       <span class="comment">// Data Members for Associations</span>
<a name="l00586"></a>00586         String m_name;
<a name="l00587"></a>00587 
<a name="l00588"></a>00588       <span class="comment">// Additional Implementation Declarations</span>
<a name="l00589"></a>00589 
<a name="l00590"></a>00590   };
<a name="l00591"></a>00591 
<a name="l00592"></a>00592   <span class="comment">// Class CCfits::ExtHDU::WrongExtensionType </span>
<a name="l00593"></a>00593 
<a name="l00594"></a>00594   <span class="comment">// Class CCfits::ExtHDU </span>
<a name="l00595"></a>00595 
<a name="l00596"></a>00596   <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;(<span class="keyword">const</span> <a class="code" href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables.">ExtHDU</a> &amp;left,<span class="keyword">const</span> <a class="code" href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables.">ExtHDU</a> &amp;right)
<a name="l00597"></a>00597   {
<a name="l00598"></a>00598         <span class="keywordflow">if</span> (left.m_name &lt; right.m_name) <span class="keywordflow">return</span> <span class="keyword">true</span>; 
<a name="l00599"></a>00599         <span class="keywordflow">if</span> (left.m_name &gt; right.m_name) <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00600"></a>00600         <span class="keywordflow">if</span> (left.m_name == right.m_name)
<a name="l00601"></a>00601         {
<a name="l00602"></a>00602                 <span class="keywordflow">if</span> (left.m_version &lt; right.m_version) <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l00603"></a>00603         }      
<a name="l00604"></a>00604         <span class="keywordflow">return</span> <span class="keyword">false</span>;       
<a name="l00605"></a>00605   }
<a name="l00606"></a>00606 
<a name="l00607"></a>00607   <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&gt;(<span class="keyword">const</span> ExtHDU &amp;left,<span class="keyword">const</span> ExtHDU &amp;right)
<a name="l00608"></a>00608   {
<a name="l00609"></a>00609      <span class="keywordflow">return</span> !operator&lt;=(left,right);
<a name="l00610"></a>00610   }
<a name="l00611"></a>00611 
<a name="l00612"></a>00612   <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;=(<span class="keyword">const</span> ExtHDU &amp;left,<span class="keyword">const</span> ExtHDU &amp;right)
<a name="l00613"></a>00613   {
<a name="l00614"></a>00614         <span class="keywordflow">if</span> (left.m_name &lt;= right.m_name) 
<a name="l00615"></a>00615         {
<a name="l00616"></a>00616                 <span class="keywordflow">if</span> (left.m_version &lt;= right.m_version) <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l00617"></a>00617         }
<a name="l00618"></a>00618         <span class="keywordflow">return</span> <span class="keyword">false</span>;     
<a name="l00619"></a>00619   }
<a name="l00620"></a>00620 
<a name="l00621"></a>00621   <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&gt;=(<span class="keyword">const</span> ExtHDU &amp;left,<span class="keyword">const</span> ExtHDU &amp;right)
<a name="l00622"></a>00622   {
<a name="l00623"></a>00623     <span class="keywordflow">return</span> !operator&lt;(left,right);    
<a name="l00624"></a>00624   }
<a name="l00625"></a>00625 
<a name="l00626"></a>00626 
<a name="l00627"></a><a class="code" href="classCCfits_1_1ExtHDU.html#af1128c49f0381473feff2cd9e5650dce">00627</a>   <span class="keyword">inline</span> <span class="keyword">const</span> String&amp; <a class="code" href="classCCfits_1_1ExtHDU.html#af1128c49f0381473feff2cd9e5650dce" title="return the name of the extension.">ExtHDU::name</a> ()<span class="keyword"> const</span>
<a name="l00628"></a>00628 <span class="keyword">  </span>{
<a name="l00629"></a>00629 
<a name="l00630"></a>00630     <span class="keywordflow">return</span> m_name;
<a name="l00631"></a>00631   }
<a name="l00632"></a>00632 
<a name="l00633"></a><a class="code" href="classCCfits_1_1ExtHDU.html#a088cce4e4843ea71af6047355be29c9d">00633</a>   <span class="keyword">inline</span> <span class="keywordtype">long</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a088cce4e4843ea71af6047355be29c9d" title="return required pcount keyword value">ExtHDU::pcount</a> ()<span class="keyword"> const</span>
<a name="l00634"></a>00634 <span class="keyword">  </span>{
<a name="l00635"></a>00635     <span class="keywordflow">return</span> m_pcount;
<a name="l00636"></a>00636   }
<a name="l00637"></a>00637 
<a name="l00638"></a><a class="code" href="classCCfits_1_1ExtHDU.html#a306b179a8566fdb70d54747f9857f089">00638</a>   <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a088cce4e4843ea71af6047355be29c9d" title="return required pcount keyword value">ExtHDU::pcount</a> (<span class="keywordtype">long</span> value)
<a name="l00639"></a>00639   {
<a name="l00640"></a>00640     m_pcount = value;
<a name="l00641"></a>00641   }
<a name="l00642"></a>00642 
<a name="l00643"></a><a class="code" href="classCCfits_1_1ExtHDU.html#a010ebcefb99b5855c5347cfa0ce30dec">00643</a>   <span class="keyword">inline</span> <span class="keywordtype">long</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a010ebcefb99b5855c5347cfa0ce30dec" title="return required gcount keyword value">ExtHDU::gcount</a> ()<span class="keyword"> const</span>
<a name="l00644"></a>00644 <span class="keyword">  </span>{
<a name="l00645"></a>00645     <span class="keywordflow">return</span> m_gcount;
<a name="l00646"></a>00646   }
<a name="l00647"></a>00647 
<a name="l00648"></a><a class="code" href="classCCfits_1_1ExtHDU.html#a7c62fe03c55892e7bb4a126b775c72e6">00648</a>   <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a010ebcefb99b5855c5347cfa0ce30dec" title="return required gcount keyword value">ExtHDU::gcount</a> (<span class="keywordtype">long</span> value)
<a name="l00649"></a>00649   {
<a name="l00650"></a>00650     m_gcount = value;
<a name="l00651"></a>00651   }
<a name="l00652"></a>00652 
<a name="l00653"></a><a class="code" href="classCCfits_1_1ExtHDU.html#a5e2785377c404f05dc948db844c6eec7">00653</a>   <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a5e2785377c404f05dc948db844c6eec7" title="return the extension version number.">ExtHDU::version</a> ()<span class="keyword"> const</span>
<a name="l00654"></a>00654 <span class="keyword">  </span>{
<a name="l00655"></a>00655     <span class="keywordflow">return</span> m_version;
<a name="l00656"></a>00656   }
<a name="l00657"></a>00657 
<a name="l00658"></a><a class="code" href="classCCfits_1_1ExtHDU.html#aa01c75db71c10def95aac15f1ab31c56">00658</a>   <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#a5e2785377c404f05dc948db844c6eec7" title="return the extension version number.">ExtHDU::version</a> (<span class="keywordtype">int</span> value)
<a name="l00659"></a>00659   {
<a name="l00660"></a>00660     m_version = value;
<a name="l00661"></a>00661   }
<a name="l00662"></a>00662 
<a name="l00663"></a><a class="code" href="classCCfits_1_1ExtHDU.html#ad3a43454577309abb2ec1ebe97d3375b">00663</a>   <span class="keyword">inline</span> HduType <a class="code" href="classCCfits_1_1ExtHDU.html#ad3a43454577309abb2ec1ebe97d3375b" title="return the extension type">ExtHDU::xtension</a> ()<span class="keyword"> const</span>
<a name="l00664"></a>00664 <span class="keyword">  </span>{
<a name="l00665"></a>00665     <span class="keywordflow">return</span> m_xtension;
<a name="l00666"></a>00666   }
<a name="l00667"></a>00667 
<a name="l00668"></a><a class="code" href="classCCfits_1_1ExtHDU.html#aa3b17f06451c8d1bf07e1e1829749c04">00668</a>   <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classCCfits_1_1ExtHDU.html#ad3a43454577309abb2ec1ebe97d3375b" title="return the extension type">ExtHDU::xtension</a> (HduType value)
<a name="l00669"></a>00669   {
<a name="l00670"></a>00670     m_xtension = value;
<a name="l00671"></a>00671   }
<a name="l00672"></a>00672 
<a name="l00673"></a>00673   <span class="keyword">inline</span> <span class="keyword">const</span> String&amp; ExtHDU::missHDU ()
<a name="l00674"></a>00674   {
<a name="l00675"></a>00675     <span class="keywordflow">return</span> s_missHDU;
<a name="l00676"></a>00676   }
<a name="l00677"></a>00677 
<a name="l00678"></a>00678   <span class="keyword">inline</span> <span class="keywordtype">void</span> ExtHDU::setMissHDU (<span class="keyword">const</span> String&amp; value)
<a name="l00679"></a>00679   {
<a name="l00680"></a>00680     s_missHDU = value;
<a name="l00681"></a>00681   }
<a name="l00682"></a>00682 
<a name="l00683"></a>00683 } <span class="comment">// namespace CCfits</span>
<a name="l00684"></a>00684 
<a name="l00685"></a>00685 
<a name="l00686"></a>00686 <span class="preprocessor">#endif</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Sep 9 11:59:40 2009 for CCfits by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>