This file is indexed.

/usr/share/doc/libccfits-doc/html/classCCfits_1_1HDU.html is in libccfits-doc 2.4+dfsg-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>CCfits: CCfits::HDU Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">CCfits
   &#160;<span id="projectnumber">2.4</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;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 class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceCCfits.html">CCfits</a></li><li class="navelem"><a class="el" href="classCCfits_1_1HDU.html">HDU</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classCCfits_1_1HDU-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">CCfits::HDU Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Base class for all <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> [Header-Data Unit] objects.  
 <a href="classCCfits_1_1HDU.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="HDU_8h_source.html">HDU.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for CCfits::HDU:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classCCfits_1_1HDU.png" usemap="#CCfits::HDU_map" alt=""/>
  <map id="CCfits::HDU_map" name="CCfits::HDU_map">
<area href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables. " alt="CCfits::ExtHDU" shape="rect" coords="60,56,171,80"/>
<area href="classCCfits_1_1PHDU.html" title="class representing the primary HDU for a FITS file. " alt="CCfits::PHDU" shape="rect" coords="181,56,292,80"/>
<area href="classCCfits_1_1Table.html" alt="CCfits::Table" shape="rect" coords="60,112,171,136"/>
<area href="classCCfits_1_1AsciiTable.html" title="Class Representing Ascii Table Extensions. " alt="CCfits::AsciiTable" shape="rect" coords="0,168,111,192"/>
<area href="classCCfits_1_1BinTable.html" title="Class Representing Binary Table Extensions. Contains columns with scalar or vector row entries..." alt="CCfits::BinTable" shape="rect" coords="121,168,232,192"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU_1_1InvalidExtensionType.html">InvalidExtensionType</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">exception to be thrown if user requests extension type that can not be understood as ImageExt, <a class="el" href="classCCfits_1_1AsciiTable.html" title="Class Representing Ascii Table Extensions. ">AsciiTable</a> or <a class="el" href="classCCfits_1_1BinTable.html" title="Class Representing Binary Table Extensions. Contains columns with scalar or vector row entries...">BinTable</a>.  <a href="classCCfits_1_1HDU_1_1InvalidExtensionType.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU_1_1InvalidImageDataType.html">InvalidImageDataType</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">exception to be thrown if user requests creation of an image of type not supported by cfitsio.  <a href="classCCfits_1_1HDU_1_1InvalidImageDataType.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU_1_1NoNullValue.html">NoNullValue</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">exception to be thrown on seek errors for keywords.  <a href="classCCfits_1_1HDU_1_1NoNullValue.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU_1_1NoSuchKeyword.html">NoSuchKeyword</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">exception to be thrown on seek errors for keywords.  <a href="classCCfits_1_1HDU_1_1NoSuchKeyword.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9fed5392151d12c459e5be9e955e1587"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9fed5392151d12c459e5be9e955e1587"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a9fed5392151d12c459e5be9e955e1587">HDU</a> (const <a class="el" href="classCCfits_1_1HDU.html">HDU</a> &amp;right)</td></tr>
<tr class="memdesc:a9fed5392151d12c459e5be9e955e1587"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy constructor <br /></td></tr>
<tr class="separator:a9fed5392151d12c459e5be9e955e1587"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e9a82fe03e3396b18943ecb649b479f"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a9e9a82fe03e3396b18943ecb649b479f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classCCfits_1_1Keyword.html">Keyword</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a9e9a82fe03e3396b18943ecb649b479f">addKey</a> (const String &amp;name, T val, const String &amp;<a class="el" href="classCCfits_1_1HDU.html#aecb532b753cd3460568e49e64df19ee5">comment</a>)</td></tr>
<tr class="memdesc:a9e9a82fe03e3396b18943ecb649b479f"><td class="mdescLeft">&#160;</td><td class="mdescRight">create a new keyword in the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> with specified value and comment fields  <a href="#a9e9a82fe03e3396b18943ecb649b479f">More...</a><br /></td></tr>
<tr class="separator:a9e9a82fe03e3396b18943ecb649b479f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64b11dc4b2e2d3e2cf636fbcb8a15fc2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCCfits_1_1Keyword.html">Keyword</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a64b11dc4b2e2d3e2cf636fbcb8a15fc2">addKey</a> (const <a class="el" href="classCCfits_1_1Keyword.html">Keyword</a> *inKeyword)</td></tr>
<tr class="memdesc:a64b11dc4b2e2d3e2cf636fbcb8a15fc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">create a copy of an existing <a class="el" href="classCCfits_1_1Keyword.html" title="Abstract base class defining the interface for Keyword objects. ">Keyword</a> and add to <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a>  <a href="#a64b11dc4b2e2d3e2cf636fbcb8a15fc2">More...</a><br /></td></tr>
<tr class="separator:a64b11dc4b2e2d3e2cf636fbcb8a15fc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18bd99b5d72ace7e7b353102eb80793a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a18bd99b5d72ace7e7b353102eb80793a"></a>
long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a18bd99b5d72ace7e7b353102eb80793a">axes</a> () const </td></tr>
<tr class="memdesc:a18bd99b5d72ace7e7b353102eb80793a"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the number of axes in the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> data section (always 2 for tables). <br /></td></tr>
<tr class="separator:a18bd99b5d72ace7e7b353102eb80793a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e19372a1a01046420c6ba4393bb5674"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a9e19372a1a01046420c6ba4393bb5674">axis</a> (size_t <a class="el" href="classCCfits_1_1HDU.html#ab8bf6e03b7460db9dc81c1e6c4bbb214">index</a>) const </td></tr>
<tr class="memdesc:a9e19372a1a01046420c6ba4393bb5674"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the size of axis numbered index [zero based].  <a href="#a9e19372a1a01046420c6ba4393bb5674">More...</a><br /></td></tr>
<tr class="separator:a9e19372a1a01046420c6ba4393bb5674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81a2d5b001c0ae7d0a298942940189d8"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a81a2d5b001c0ae7d0a298942940189d8">bitpix</a> () const </td></tr>
<tr class="memdesc:a81a2d5b001c0ae7d0a298942940189d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the data type keyword.  <a href="#a81a2d5b001c0ae7d0a298942940189d8">More...</a><br /></td></tr>
<tr class="separator:a81a2d5b001c0ae7d0a298942940189d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d4af8d84676f20b1c79b785f1a22cde"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d4af8d84676f20b1c79b785f1a22cde"></a>
virtual <a class="el" href="classCCfits_1_1HDU.html">HDU</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a5d4af8d84676f20b1c79b785f1a22cde">clone</a> (FITSBase *p) const =0</td></tr>
<tr class="memdesc:a5d4af8d84676f20b1c79b785f1a22cde"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual copy constructor, to be implemented in subclasses. <br /></td></tr>
<tr class="separator:a5d4af8d84676f20b1c79b785f1a22cde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecb532b753cd3460568e49e64df19ee5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aecb532b753cd3460568e49e64df19ee5"></a>
const string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#aecb532b753cd3460568e49e64df19ee5">comment</a> () const </td></tr>
<tr class="memdesc:aecb532b753cd3460568e49e64df19ee5"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the comment string previously read by getComment() <br /></td></tr>
<tr class="separator:aecb532b753cd3460568e49e64df19ee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a317fcf61da35fcf568f7bc3c2df83706"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a317fcf61da35fcf568f7bc3c2df83706">copyAllKeys</a> (const <a class="el" href="classCCfits_1_1HDU.html">HDU</a> *inHdu)</td></tr>
<tr class="memdesc:a317fcf61da35fcf568f7bc3c2df83706"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy all keys from another header  <a href="#a317fcf61da35fcf568f7bc3c2df83706">More...</a><br /></td></tr>
<tr class="separator:a317fcf61da35fcf568f7bc3c2df83706"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aece6e1d7e46ce3370578972a4aeb08ab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#aece6e1d7e46ce3370578972a4aeb08ab">deleteKey</a> (const String &amp;doomed)</td></tr>
<tr class="memdesc:aece6e1d7e46ce3370578972a4aeb08ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">delete a keyword from the header  <a href="#aece6e1d7e46ce3370578972a4aeb08ab">More...</a><br /></td></tr>
<tr class="separator:aece6e1d7e46ce3370578972a4aeb08ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37bec2db64600e489eb8efa8a001f73d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37bec2db64600e489eb8efa8a001f73d"></a>
fitsfile *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a37bec2db64600e489eb8efa8a001f73d">fitsPointer</a> () const </td></tr>
<tr class="memdesc:a37bec2db64600e489eb8efa8a001f73d"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the fitsfile pointer for the <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> object containing the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> <br /></td></tr>
<tr class="separator:a37bec2db64600e489eb8efa8a001f73d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdfef60e183bb3f3ae0374fccdbc4e45"><td class="memItemLeft" align="right" valign="top">std::pair&lt; unsigned long, <br class="typebreak" />
unsigned long &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#abdfef60e183bb3f3ae0374fccdbc4e45">getChecksum</a> () const </td></tr>
<tr class="memdesc:abdfef60e183bb3f3ae0374fccdbc4e45"><td class="mdescLeft">&#160;</td><td class="mdescRight">compute and return the checksum values for the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> without creating or modifying the CHECKSUM/DATASUM keywords.  <a href="#abdfef60e183bb3f3ae0374fccdbc4e45">More...</a><br /></td></tr>
<tr class="separator:abdfef60e183bb3f3ae0374fccdbc4e45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6604d7907f4f0353e2821ac6c2506c73"><td class="memItemLeft" align="right" valign="top">const String &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a6604d7907f4f0353e2821ac6c2506c73">getComments</a> ()</td></tr>
<tr class="memdesc:a6604d7907f4f0353e2821ac6c2506c73"><td class="mdescLeft">&#160;</td><td class="mdescRight">read the comments from the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> and add it to the <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> object.  <a href="#a6604d7907f4f0353e2821ac6c2506c73">More...</a><br /></td></tr>
<tr class="separator:a6604d7907f4f0353e2821ac6c2506c73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09da0675ae163e98d2d8cf3e2a9c2571"><td class="memItemLeft" align="right" valign="top">const String &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a09da0675ae163e98d2d8cf3e2a9c2571">getHistory</a> ()</td></tr>
<tr class="memdesc:a09da0675ae163e98d2d8cf3e2a9c2571"><td class="mdescLeft">&#160;</td><td class="mdescRight">read the history information from the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> and add it to the <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> object.  <a href="#a09da0675ae163e98d2d8cf3e2a9c2571">More...</a><br /></td></tr>
<tr class="separator:a09da0675ae163e98d2d8cf3e2a9c2571"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7acddc0c108bc9504a3a342b010ec9a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7acddc0c108bc9504a3a342b010ec9a1"></a>
const string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a7acddc0c108bc9504a3a342b010ec9a1">history</a> () const </td></tr>
<tr class="memdesc:a7acddc0c108bc9504a3a342b010ec9a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the history string previously read by <a class="el" href="classCCfits_1_1HDU.html#a09da0675ae163e98d2d8cf3e2a9c2571" title="read the history information from the HDU and add it to the FITS object. ">getHistory()</a> <br /></td></tr>
<tr class="separator:a7acddc0c108bc9504a3a342b010ec9a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8bf6e03b7460db9dc81c1e6c4bbb214"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8bf6e03b7460db9dc81c1e6c4bbb214"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#ab8bf6e03b7460db9dc81c1e6c4bbb214">index</a> (int value)</td></tr>
<tr class="memdesc:ab8bf6e03b7460db9dc81c1e6c4bbb214"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> number <br /></td></tr>
<tr class="separator:ab8bf6e03b7460db9dc81c1e6c4bbb214"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a111434a1e35e2453237f86b30b3f4a8d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a111434a1e35e2453237f86b30b3f4a8d"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a111434a1e35e2453237f86b30b3f4a8d">index</a> () const </td></tr>
<tr class="memdesc:a111434a1e35e2453237f86b30b3f4a8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> number <br /></td></tr>
<tr class="separator:a111434a1e35e2453237f86b30b3f4a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a011149805ffb96031218739369863e17"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a011149805ffb96031218739369863e17"></a>
std::map&lt; String, <a class="el" href="classCCfits_1_1Keyword.html">Keyword</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a011149805ffb96031218739369863e17">keyWord</a> ()</td></tr>
<tr class="memdesc:a011149805ffb96031218739369863e17"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the associative array containing the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> keywords so far read. <br /></td></tr>
<tr class="separator:a011149805ffb96031218739369863e17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb274465a32c564e884b69810161078c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb274465a32c564e884b69810161078c"></a>
<a class="el" href="classCCfits_1_1Keyword.html">Keyword</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#abb274465a32c564e884b69810161078c">keyWord</a> (const String &amp;keyName)</td></tr>
<tr class="memdesc:abb274465a32c564e884b69810161078c"><td class="mdescLeft">&#160;</td><td class="mdescRight">return a (previously read) keyword from the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> object. <br /></td></tr>
<tr class="separator:abb274465a32c564e884b69810161078c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a674875a76c3fb745b2b35303b42407cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a674875a76c3fb745b2b35303b42407cc"></a>
const std::map&lt; string, <br class="typebreak" />
<a class="el" href="classCCfits_1_1Keyword.html">Keyword</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a674875a76c3fb745b2b35303b42407cc">keyWord</a> () const </td></tr>
<tr class="memdesc:a674875a76c3fb745b2b35303b42407cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the associative array containing the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> Keywords that have been read so far. <br /></td></tr>
<tr class="separator:a674875a76c3fb745b2b35303b42407cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd3add56e93046c3a5260f1d227b4892"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd3add56e93046c3a5260f1d227b4892"></a>
const <a class="el" href="classCCfits_1_1Keyword.html">Keyword</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#abd3add56e93046c3a5260f1d227b4892">keyWord</a> (const string &amp;keyname) const </td></tr>
<tr class="memdesc:abd3add56e93046c3a5260f1d227b4892"><td class="mdescLeft">&#160;</td><td class="mdescRight">return a (previously read) keyword from the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> object. const version <br /></td></tr>
<tr class="separator:abd3add56e93046c3a5260f1d227b4892"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0bbec3fe5f6b41ff4a95feff6600d57"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#af0bbec3fe5f6b41ff4a95feff6600d57">makeThisCurrent</a> () const </td></tr>
<tr class="memdesc:af0bbec3fe5f6b41ff4a95feff6600d57"><td class="mdescLeft">&#160;</td><td class="mdescRight">move the fitsfile pointer to this current <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a>.  <a href="#af0bbec3fe5f6b41ff4a95feff6600d57">More...</a><br /></td></tr>
<tr class="separator:af0bbec3fe5f6b41ff4a95feff6600d57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c4fa124e27d002de1044c1832be5942"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c4fa124e27d002de1044c1832be5942"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a0c4fa124e27d002de1044c1832be5942">operator!=</a> (const <a class="el" href="classCCfits_1_1HDU.html">HDU</a> &amp;right) const </td></tr>
<tr class="memdesc:a0c4fa124e27d002de1044c1832be5942"><td class="mdescLeft">&#160;</td><td class="mdescRight">inequality operator <br /></td></tr>
<tr class="separator:a0c4fa124e27d002de1044c1832be5942"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab574045dcdc383c9d2987850c640e0c1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab574045dcdc383c9d2987850c640e0c1"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#ab574045dcdc383c9d2987850c640e0c1">operator==</a> (const <a class="el" href="classCCfits_1_1HDU.html">HDU</a> &amp;right) const </td></tr>
<tr class="memdesc:ab574045dcdc383c9d2987850c640e0c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">equality operator <br /></td></tr>
<tr class="separator:ab574045dcdc383c9d2987850c640e0c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b547e893d364ebc570f2998a6b193bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b547e893d364ebc570f2998a6b193bd"></a>
FITSBase *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a3b547e893d364ebc570f2998a6b193bd">parent</a> () const </td></tr>
<tr class="memdesc:a3b547e893d364ebc570f2998a6b193bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">return reference to the pointer representing the FITSBase object containing the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> <br /></td></tr>
<tr class="separator:a3b547e893d364ebc570f2998a6b193bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dd3930b7e987e0971c494887243a7a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a2dd3930b7e987e0971c494887243a7a2">readAllKeys</a> ()</td></tr>
<tr class="memdesc:a2dd3930b7e987e0971c494887243a7a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">read all of the keys in the header  <a href="#a2dd3930b7e987e0971c494887243a7a2">More...</a><br /></td></tr>
<tr class="separator:a2dd3930b7e987e0971c494887243a7a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c9d28570c1a7f8fc09cc10398bd6080"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a8c9d28570c1a7f8fc09cc10398bd6080"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a8c9d28570c1a7f8fc09cc10398bd6080">readKey</a> (const String &amp;keyName, T &amp;val)</td></tr>
<tr class="memdesc:a8c9d28570c1a7f8fc09cc10398bd6080"><td class="mdescLeft">&#160;</td><td class="mdescRight">read a keyword of specified type from the header of a disk <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> file and return its value.  <a href="#a8c9d28570c1a7f8fc09cc10398bd6080">More...</a><br /></td></tr>
<tr class="separator:a8c9d28570c1a7f8fc09cc10398bd6080"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18f7273134f1a0428f8d565067785619"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a18f7273134f1a0428f8d565067785619"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a18f7273134f1a0428f8d565067785619">readKeys</a> (std::vector&lt; String &gt; &amp;keyNames, std::vector&lt; T &gt; &amp;vals)</td></tr>
<tr class="memdesc:a18f7273134f1a0428f8d565067785619"><td class="mdescLeft">&#160;</td><td class="mdescRight">read a set of specified keywords of the same data type from the header of a disk <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> file and return their values  <a href="#a18f7273134f1a0428f8d565067785619">More...</a><br /></td></tr>
<tr class="separator:a18f7273134f1a0428f8d565067785619"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1ffd58e00cd8f3a903976df8f91bc0a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1ffd58e00cd8f3a903976df8f91bc0a"></a>
virtual double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#af1ffd58e00cd8f3a903976df8f91bc0a">scale</a> () const </td></tr>
<tr class="memdesc:af1ffd58e00cd8f3a903976df8f91bc0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the BSCALE keyword value <br /></td></tr>
<tr class="separator:af1ffd58e00cd8f3a903976df8f91bc0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c8e0dc188f74f681f6bfe17819b2eb9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a6c8e0dc188f74f681f6bfe17819b2eb9">scale</a> (double value)</td></tr>
<tr class="memdesc:a6c8e0dc188f74f681f6bfe17819b2eb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the BSCALE keyword value for images (see warning for images of int type)  <a href="#a6c8e0dc188f74f681f6bfe17819b2eb9">More...</a><br /></td></tr>
<tr class="separator:a6c8e0dc188f74f681f6bfe17819b2eb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bd0d7eb236211267de480c595b5b631"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a6bd0d7eb236211267de480c595b5b631">suppressScaling</a> (bool toggle=true)</td></tr>
<tr class="memdesc:a6bd0d7eb236211267de480c595b5b631"><td class="mdescLeft">&#160;</td><td class="mdescRight">turn off image scaling regardless of the BSCALE and BZERO keyword values  <a href="#a6bd0d7eb236211267de480c595b5b631">More...</a><br /></td></tr>
<tr class="separator:a6bd0d7eb236211267de480c595b5b631"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56ce9ed0864e07a7ef380b18e3be7a79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a56ce9ed0864e07a7ef380b18e3be7a79">updateChecksum</a> ()</td></tr>
<tr class="memdesc:a56ce9ed0864e07a7ef380b18e3be7a79"><td class="mdescLeft">&#160;</td><td class="mdescRight">update the CHECKSUM keyword value, assuming DATASUM exists and is correct  <a href="#a56ce9ed0864e07a7ef380b18e3be7a79">More...</a><br /></td></tr>
<tr class="separator:a56ce9ed0864e07a7ef380b18e3be7a79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc1a7ba06b6a113010334320e5268dc6"><td class="memItemLeft" align="right" valign="top">std::pair&lt; int, int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#adc1a7ba06b6a113010334320e5268dc6">verifyChecksum</a> () const </td></tr>
<tr class="memdesc:adc1a7ba06b6a113010334320e5268dc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">verify the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> by computing the checksums and comparing them with the CHECKSUM/DATASUM keywords  <a href="#adc1a7ba06b6a113010334320e5268dc6">More...</a><br /></td></tr>
<tr class="separator:adc1a7ba06b6a113010334320e5268dc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ac4ca8b88fc94552f890154247776c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a3ac4ca8b88fc94552f890154247776c6">writeChecksum</a> ()</td></tr>
<tr class="memdesc:a3ac4ca8b88fc94552f890154247776c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">compute and write the DATASUM and CHECKSUM keyword values  <a href="#a3ac4ca8b88fc94552f890154247776c6">More...</a><br /></td></tr>
<tr class="separator:a3ac4ca8b88fc94552f890154247776c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05843eda3c863cf9b580a409b3067c55"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a05843eda3c863cf9b580a409b3067c55">writeComment</a> (const String &amp;<a class="el" href="classCCfits_1_1HDU.html#aecb532b753cd3460568e49e64df19ee5">comment</a>=&quot;Generic Comment&quot;)</td></tr>
<tr class="memdesc:a05843eda3c863cf9b580a409b3067c55"><td class="mdescLeft">&#160;</td><td class="mdescRight">write a comment string.  <a href="#a05843eda3c863cf9b580a409b3067c55">More...</a><br /></td></tr>
<tr class="separator:a05843eda3c863cf9b580a409b3067c55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c36394bfe734921404a6882e82be4db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c36394bfe734921404a6882e82be4db"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a4c36394bfe734921404a6882e82be4db">writeDate</a> ()</td></tr>
<tr class="memdesc:a4c36394bfe734921404a6882e82be4db"><td class="mdescLeft">&#160;</td><td class="mdescRight">write a date string to *this. <br /></td></tr>
<tr class="separator:a4c36394bfe734921404a6882e82be4db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae33b25a2d52e0e75e13d277e3327d03f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#ae33b25a2d52e0e75e13d277e3327d03f">writeHistory</a> (const String &amp;<a class="el" href="classCCfits_1_1HDU.html#a7acddc0c108bc9504a3a342b010ec9a1">history</a>=&quot;Generic History String&quot;)</td></tr>
<tr class="memdesc:ae33b25a2d52e0e75e13d277e3327d03f"><td class="mdescLeft">&#160;</td><td class="mdescRight">write a history string.  <a href="#ae33b25a2d52e0e75e13d277e3327d03f">More...</a><br /></td></tr>
<tr class="separator:ae33b25a2d52e0e75e13d277e3327d03f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23317074fa7362c7522c01f3f1756618"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23317074fa7362c7522c01f3f1756618"></a>
virtual double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a23317074fa7362c7522c01f3f1756618">zero</a> () const </td></tr>
<tr class="memdesc:a23317074fa7362c7522c01f3f1756618"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the BZERO keyword value <br /></td></tr>
<tr class="separator:a23317074fa7362c7522c01f3f1756618"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fb3adf98e8cc736b200520afed61c13"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a2fb3adf98e8cc736b200520afed61c13">zero</a> (double value)</td></tr>
<tr class="memdesc:a2fb3adf98e8cc736b200520afed61c13"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the BZERO keyword value for images (see warning for images of int type)  <a href="#a2fb3adf98e8cc736b200520afed61c13">More...</a><br /></td></tr>
<tr class="separator:a2fb3adf98e8cc736b200520afed61c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a69f296780f7b1e2ff83199d4cffa4c86"><td class="memItemLeft" align="right" valign="top">static std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a69f296780f7b1e2ff83199d4cffa4c86">keywordCategories</a> ()</td></tr>
<tr class="memdesc:a69f296780f7b1e2ff83199d4cffa4c86"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the enumerated keyword categories used by <a class="el" href="classCCfits_1_1HDU.html#a2dd3930b7e987e0971c494887243a7a2" title="read all of the keys in the header ">readAllKeys()</a> and <a class="el" href="classCCfits_1_1HDU.html#a317fcf61da35fcf568f7bc3c2df83706" title="copy all keys from another header ">copyAllKeys()</a>  <a href="#a69f296780f7b1e2ff83199d4cffa4c86">More...</a><br /></td></tr>
<tr class="separator:a69f296780f7b1e2ff83199d4cffa4c86"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a0938122b95fae87a5d8abd70d2faf664"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0938122b95fae87a5d8abd70d2faf664"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a0938122b95fae87a5d8abd70d2faf664">HDU</a> (FITSBase *p=0)</td></tr>
<tr class="memdesc:a0938122b95fae87a5d8abd70d2faf664"><td class="mdescLeft">&#160;</td><td class="mdescRight">default constructor, called by <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> subclasses that read from <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> files. <br /></td></tr>
<tr class="separator:a0938122b95fae87a5d8abd70d2faf664"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84de5ab34fba6c478e9365937d826346"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84de5ab34fba6c478e9365937d826346"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a84de5ab34fba6c478e9365937d826346">HDU</a> (FITSBase *p, int <a class="el" href="classCCfits_1_1HDU.html#a81a2d5b001c0ae7d0a298942940189d8">bitpix</a>, int naxis, const std::vector&lt; long &gt; &amp;<a class="el" href="classCCfits_1_1HDU.html#a18bd99b5d72ace7e7b353102eb80793a">axes</a>)</td></tr>
<tr class="memdesc:a84de5ab34fba6c478e9365937d826346"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor for creating new <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> objects, called by <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> subclasses writing to <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> files. <br /></td></tr>
<tr class="separator:a84de5ab34fba6c478e9365937d826346"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad660a6aee62165b81eb71b85447ab93e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad660a6aee62165b81eb71b85447ab93e"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#ad660a6aee62165b81eb71b85447ab93e">~HDU</a> ()</td></tr>
<tr class="memdesc:ad660a6aee62165b81eb71b85447ab93e"><td class="mdescLeft">&#160;</td><td class="mdescRight">destructor <br /></td></tr>
<tr class="separator:ad660a6aee62165b81eb71b85447ab93e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e02db0df89451736c7863963170a081"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e02db0df89451736c7863963170a081"></a>
std::vector&lt; long &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCCfits_1_1HDU.html#a2e02db0df89451736c7863963170a081">naxes</a> ()</td></tr>
<tr class="memdesc:a2e02db0df89451736c7863963170a081"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> data axis array. <br /></td></tr>
<tr class="separator:a2e02db0df89451736c7863963170a081"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base class for all <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> [Header-Data Unit] objects. </p>
<p><a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> objects in <a class="el" href="namespaceCCfits.html" title="Namespace enclosing all CCfits classes and globals definitions. ">CCfits</a> are either <a class="el" href="classCCfits_1_1PHDU.html" title="class representing the primary HDU for a FITS file. ">PHDU</a> (Primary <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> objects) or <a class="el" href="classCCfits_1_1ExtHDU.html" title="base class for all FITS extension HDUs, i.e. Image Extensions and Tables. ">ExtHDU</a> (Extension <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a>) objects. Following the behavior. ExtHDUs are further subclassed into ImageExt or <a class="el" href="classCCfits_1_1Table.html">Table</a> objects, which are finally <a class="el" href="classCCfits_1_1AsciiTable.html" title="Class Representing Ascii Table Extensions. ">AsciiTable</a> or <a class="el" href="classCCfits_1_1BinTable.html" title="Class Representing Binary Table Extensions. Contains columns with scalar or vector row entries...">BinTable</a> objects. </p><pre class="fragment">            HDU's public interface gives access to properties that are
</pre><p> common to all HDUs, largely required keywords, and functions that are common to all HDUs, principally the manipulation of keywords and their values. </p><pre class="fragment">            HDUs must be constructed by HDUCreator objects which are
</pre><p> called by <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> methods. Each <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> has an embedded pointer to a FITSBase object, which is private to <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> [FITSBase is a pointer encapsulating the resources of <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a>. For details of this coding idiom see Exceptional C++ by Herb Sutter (2000) and references therein]. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a9e9a82fe03e3396b18943ecb649b479f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCCfits_1_1Keyword.html">Keyword</a> &amp; CCfits::HDU::addKey </td>
          <td>(</td>
          <td class="paramtype">const String &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const String &amp;&#160;</td>
          <td class="paramname"><em>comment</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>create a new keyword in the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> with specified value and comment fields </p>
<p>The function returns a reference to keyword object just created. If a keyword with this name already exists, it will be overwritten. Note that this is mostly intended for adding user-defined keywords. It should not be used to add keywords for which there are already specific <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> functions, such as scaling or checksum. Nor should it be used for image or column structural keywords, such as BITPIX, NAXIS, TFORMn, etc. As a general rule, it is best to use this for keywords belonging to the same categories listed in the <a class="el" href="classCCfits_1_1HDU.html#a69f296780f7b1e2ff83199d4cffa4c86" title="return the enumerated keyword categories used by readAllKeys() and copyAllKeys() ">keywordCategories()</a> function.</p>
<p>Parameters: </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>(String) The keyword name </td></tr>
    <tr><td class="paramname">value</td><td>(Recommended T = String, double, std::complex&lt;float&gt;, int, or bool </td></tr>
    <tr><td class="paramname">comment</td><td>(String) the keyword value</td></tr>
  </table>
  </dd>
</dl>
<p>It is possible to create a keyword with a value of any of the allowed data types in fitsio (see the cfitsio manual section 4.3). However one should be aware that if this keyword value is read in from the file at a later time, it will be stored in a templated <a class="el" href="classCCfits_1_1Keyword.html" title="Abstract base class defining the interface for Keyword objects. ">Keyword</a> subclass (KeyData&lt;T&gt;) where T will be one of the recommended types listed above. Also see <a class="el" href="classCCfits_1_1Keyword.html#a65b457d993a6979180d648324b494fbb" title="get the keyword value ">Keyword::value</a> (T&amp; val) for more details. </p>

</div>
</div>
<a class="anchor" id="a64b11dc4b2e2d3e2cf636fbcb8a15fc2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCCfits_1_1Keyword.html">Keyword</a> * CCfits::HDU::addKey </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCCfits_1_1Keyword.html">Keyword</a> *&#160;</td>
          <td class="paramname"><em>inKeyword</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>create a copy of an existing <a class="el" href="classCCfits_1_1Keyword.html" title="Abstract base class defining the interface for Keyword objects. ">Keyword</a> and add to <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> </p>
<p>This is particularly useful for copying Keywords from one <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> to another. For example the inKeyword pointer might come from a different <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a>'s std::map&lt;string,Keyword*&gt;. If a keyword with this name already exists, it will be overwritten. The return value is a pointer to the newly created <a class="el" href="classCCfits_1_1Keyword.html" title="Abstract base class defining the interface for Keyword objects. ">Keyword</a> inserted into this <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a>. Also see <a class="el" href="classCCfits_1_1HDU.html#a317fcf61da35fcf568f7bc3c2df83706" title="copy all keys from another header ">copyAllKeys()</a>. </p>

</div>
</div>
<a class="anchor" id="a9e19372a1a01046420c6ba4393bb5674"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long CCfits::HDU::axis </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>return the size of axis numbered index [zero based]. </p>
<p>return the length of <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> data axis i. </p>

</div>
</div>
<a class="anchor" id="a81a2d5b001c0ae7d0a298942940189d8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long CCfits::HDU::bitpix </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>return the data type keyword. </p>
<p>Takes values denoting the image data type for images, and takes the fixed value 8 for tables. </p>

</div>
</div>
<a class="anchor" id="a317fcf61da35fcf568f7bc3c2df83706"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::HDU::copyAllKeys </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCCfits_1_1HDU.html">HDU</a> *&#160;</td>
          <td class="paramname"><em>inHdu</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>copy all keys from another header </p>
<p>Parameters: </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">inHdu</td><td>(const HDU*) An existing <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> whose keys will be copied.</td></tr>
  </table>
  </dd>
</dl>
<p>This will copy all keys that exist in the keyWord map of <em>inHDU</em>, and which belong to one of the keyword classes returned by the <a class="el" href="classCCfits_1_1HDU.html#a69f296780f7b1e2ff83199d4cffa4c86" title="return the enumerated keyword categories used by readAllKeys() and copyAllKeys() ">keywordCategories()</a> function. This is the same group of keyword classes used by <a class="el" href="classCCfits_1_1HDU.html#a2dd3930b7e987e0971c494887243a7a2" title="read all of the keys in the header ">readAllKeys()</a>. </p>

</div>
</div>
<a class="anchor" id="aece6e1d7e46ce3370578972a4aeb08ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::HDU::deleteKey </td>
          <td>(</td>
          <td class="paramtype">const String &amp;&#160;</td>
          <td class="paramname"><em>doomed</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>delete a keyword from the header </p>
<p>removes <em>doomed</em> from the <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> file and from the <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> object </p>

</div>
</div>
<a class="anchor" id="abdfef60e183bb3f3ae0374fccdbc4e45"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::pair&lt; unsigned long, unsigned long &gt; CCfits::HDU::getChecksum </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>compute and return the checksum values for the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> without creating or modifying the CHECKSUM/DATASUM keywords. </p>
<p>Wrapper for the CFITSIO function fits_get_chksum: This returns a std::pair&lt;unsigned long, unsigned long&gt; where the pair's first data member holds the datasum value and second holds the hdusum value. </p>

</div>
</div>
<a class="anchor" id="a6604d7907f4f0353e2821ac6c2506c73"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const String &amp; CCfits::HDU::getComments </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>read the comments from the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> and add it to the <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> object. </p>
<p>The comment string found in the header is concatenated and returned to the calling function </p>

</div>
</div>
<a class="anchor" id="a09da0675ae163e98d2d8cf3e2a9c2571"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const String &amp; CCfits::HDU::getHistory </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>read the history information from the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> and add it to the <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> object. </p>
<p>The history string found in the header is concatenated and returned to the calling function </p>

</div>
</div>
<a class="anchor" id="a69f296780f7b1e2ff83199d4cffa4c86"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::vector&lt; int &gt; CCfits::HDU::keywordCategories </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>return the enumerated keyword categories used by <a class="el" href="classCCfits_1_1HDU.html#a2dd3930b7e987e0971c494887243a7a2" title="read all of the keys in the header ">readAllKeys()</a> and <a class="el" href="classCCfits_1_1HDU.html#a317fcf61da35fcf568f7bc3c2df83706" title="copy all keys from another header ">copyAllKeys()</a> </p>
<p>This returns a vector of integers indicating which categories of keywords apply for the readAllKeys and copyAllKeys functions. The list of categories currently hardcoded is: TYP_CMPRS_KEY (20), TYP_CKSUM_KEY (100), TYP_WCS_KEY (110), TYP_REFSYS_KEY (120), and TYP_USER_KEY (150).</p>
<p>For the list of ALL keyword categories, see the CFITSIO documentation for the fits_get_keyclass function. </p>

</div>
</div>
<a class="anchor" id="af0bbec3fe5f6b41ff4a95feff6600d57"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::HDU::makeThisCurrent </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>move the fitsfile pointer to this current <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a>. </p>
<p>This function should never need to be called by the user since it is called internally whenever required. </p>

<p>Reimplemented in <a class="el" href="classCCfits_1_1ExtHDU.html#a16730a075858cd50bfa3daad60c0a1c0">CCfits::ExtHDU</a>.</p>

</div>
</div>
<a class="anchor" id="a2dd3930b7e987e0971c494887243a7a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::HDU::readAllKeys </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>read all of the keys in the header </p>
<p>This member function reads keys that are not meta data for columns or image information, [which are considered to be part of the column or image objects]. Also, history and comment keys are read and returned by <a class="el" href="classCCfits_1_1HDU.html#a09da0675ae163e98d2d8cf3e2a9c2571" title="read the history information from the HDU and add it to the FITS object. ">getHistory()</a> and getComment(). The exact list of keyword classes this will read is returned by the function <a class="el" href="classCCfits_1_1HDU.html#a69f296780f7b1e2ff83199d4cffa4c86" title="return the enumerated keyword categories used by readAllKeys() and copyAllKeys() ">keywordCategories()</a>.</p>
<p>Note that readAllKeys can only construct keys of type string, double, complex&lt;float&gt;, integer, and bool because the <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> header records do not encode exact type information. </p>

</div>
</div>
<a class="anchor" id="a8c9d28570c1a7f8fc09cc10398bd6080"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::HDU::readKey </td>
          <td>(</td>
          <td class="paramtype">const String &amp;&#160;</td>
          <td class="paramname"><em>keyName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T &amp;&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>read a keyword of specified type from the header of a disk <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> file and return its value. </p>
<p>T is one of the types String, double, float, int, std::complex&lt;float&gt;, and bool. If a <a class="el" href="classCCfits_1_1Keyword.html" title="Abstract base class defining the interface for Keyword objects. ">Keyword</a> object with the name <em>keyName</em> already exists in this <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> due to a previous read call, then this will re-read from the file and create a new <a class="el" href="classCCfits_1_1Keyword.html" title="Abstract base class defining the interface for Keyword objects. ">Keyword</a> object to replace the existing one. </p>

</div>
</div>
<a class="anchor" id="a18f7273134f1a0428f8d565067785619"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::HDU::readKeys </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; String &gt; &amp;&#160;</td>
          <td class="paramname"><em>keyNames</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>vals</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>read a set of specified keywords of the same data type from the header of a disk <a class="el" href="classCCfits_1_1FITS.html" title="Memory object representation of a disk FITS file. ">FITS</a> file and return their values </p>
<p>T is one of the types String, double, float, int, std::complex&lt;float&gt;, and bool. </p>

</div>
</div>
<a class="anchor" id="a6c8e0dc188f74f681f6bfe17819b2eb9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::HDU::scale </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set the BSCALE keyword value for images (see warning for images of int type) </p>
<p>For primary HDUs and image extensions, this will add (or update) the BSCALE keyword in the header. The new setting will affect future image array read/writes as described in section 4.7 Data Scaling of the CFITSIO manual. For table extensions this function does nothing.</p>
<p>WARNING: If the image contains <b>integer-type data</b> (as indicated by the <a class="el" href="classCCfits_1_1HDU.html#a81a2d5b001c0ae7d0a298942940189d8" title="return the data type keyword. ">bitpix()</a> return value), the new scale and zero value combination must not be such that the scaled data would require a floating-point type (this uses the CFITSIO function fits_get_img_equivtype to make the determination). If this situation occurs, the function will throw a <a class="el" href="classCCfits_1_1FitsException.html" title="FitsException is the base class for all exceptions thrown by this library. ">FitsException</a>. </p>

<p>Reimplemented in <a class="el" href="classCCfits_1_1PHDU.html#a75f86db856e2cc7772a97d9ded3a633c">CCfits::PHDU</a>.</p>

</div>
</div>
<a class="anchor" id="a6bd0d7eb236211267de480c595b5b631"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::HDU::suppressScaling </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>toggle</em> = <code>true</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>turn off image scaling regardless of the BSCALE and BZERO keyword values </p>
<p>For <em>toggle</em> = true, this turns off image scaling for future read/writes by resetting the scale and zero to 1.0 and 0.0 respectively. It does NOT modify the BSCALE and BZERO keywords. If <em>toggle</em> = false, the scale and zero values will be restored to the keyword values. </p>

</div>
</div>
<a class="anchor" id="a56ce9ed0864e07a7ef380b18e3be7a79"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::HDU::updateChecksum </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>update the CHECKSUM keyword value, assuming DATASUM exists and is correct </p>
<p>Wrapper for the CFITSIO function fits_update_chksum: This recomputes and writes the CHECKSUM value with the assumption that the DATASUM value is correct. If the DATASUM keyword doesn't yet exist or is not up-to-date, use the <a class="el" href="classCCfits_1_1HDU.html#a3ac4ca8b88fc94552f890154247776c6" title="compute and write the DATASUM and CHECKSUM keyword values ">HDU::writeChecksum</a> function instead. This will throw a <a class="el" href="classCCfits_1_1FitsError.html" title="FitsError is the exception thrown by non-zero cfitsio status codes. ">FitsError</a> exception if called when there is no DATASUM keyword in the header. </p>

</div>
</div>
<a class="anchor" id="adc1a7ba06b6a113010334320e5268dc6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::pair&lt; int, int &gt; CCfits::HDU::verifyChecksum </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>verify the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> by computing the checksums and comparing them with the CHECKSUM/DATASUM keywords </p>
<p>Wrapper for the CFITSIO function fits_verify_chksum: The data unit is verified correctly if the computed checksum equals the DATASUM keyword value, and the <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a> is verified if the entire checksum equals zero (see the CFITSIO manual for further details).</p>
<p>This returns a std::pair&lt;int,int&gt; where the pair's first data member = DATAOK and second = HDUOK. DATAOK and HDUOK values will be = 1 if verified correctly, 0 if the keyword is missing, and -1 if the computed checksum is not correct. </p>

</div>
</div>
<a class="anchor" id="a3ac4ca8b88fc94552f890154247776c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::HDU::writeChecksum </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>compute and write the DATASUM and CHECKSUM keyword values </p>
<p>Wrapper for the CFITSIO function fits_write_chksum: This performs the datasum and checksum calculations for this <a class="el" href="classCCfits_1_1HDU.html" title="Base class for all HDU [Header-Data Unit] objects. ">HDU</a>, as described in the CFITSIO manual. If either the DATASUM or CHECKSUM keywords already exist, their values will be updated. </p>

</div>
</div>
<a class="anchor" id="a05843eda3c863cf9b580a409b3067c55"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::HDU::writeComment </td>
          <td>(</td>
          <td class="paramtype">const String &amp;&#160;</td>
          <td class="paramname"><em>comment</em> = <code>&quot;Generic&#160;Comment&quot;</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>write a comment string. </p>
<p>A default value for the string is given ("Generic Comment String") so users can put a placeholder call to this function in their code. </p>

</div>
</div>
<a class="anchor" id="ae33b25a2d52e0e75e13d277e3327d03f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::HDU::writeHistory </td>
          <td>(</td>
          <td class="paramtype">const String &amp;&#160;</td>
          <td class="paramname"><em>history</em> = <code>&quot;Generic&#160;History&#160;String&quot;</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>write a history string. </p>
<p>A default value for the string is given ("Generic History String") so users can put a placeholder call to this function in their code. </p>

</div>
</div>
<a class="anchor" id="a2fb3adf98e8cc736b200520afed61c13"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CCfits::HDU::zero </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set the BZERO keyword value for images (see warning for images of int type) </p>
<p>For primary HDUs and image extensions, this will add (or update) the BZERO keyword in the header. The new setting will affect future image array read/writes as described in section 4.7 Data Scaling of the CFITSIO manual. For table extensions this function does nothing.</p>
<p>WARNING: If the image contains <b>integer-type data</b> (as indicated by the <a class="el" href="classCCfits_1_1HDU.html#a81a2d5b001c0ae7d0a298942940189d8" title="return the data type keyword. ">bitpix()</a> return value), the new scale and zero value combination must not be such that the scaled data would require a floating-point type (this uses the CFITSIO function fits_get_img_equivtype to make the determination). If this situation occurs, the function will throw a <a class="el" href="classCCfits_1_1FitsException.html" title="FitsException is the base class for all exceptions thrown by this library. ">FitsException</a>. </p>

<p>Reimplemented in <a class="el" href="classCCfits_1_1PHDU.html#abcc25c1d318581d9b650a784b799285d">CCfits::PHDU</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="HDU_8h_source.html">HDU.h</a></li>
<li>HDU.cxx</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Sep 11 2014 21:15:48 for CCfits by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>