22 #ifndef ASTSHIM_FITSCHAN_H
23 #define ASTSHIM_FITSCHAN_H
29 #include "astshim/base.h"
30 #include "astshim/Object.h"
31 #include "astshim/Stream.h"
32 #include "astshim/Channel.h"
50 COMMENT = AST__COMMENT,
54 COMPLEXF = AST__COMPLEXF,
55 COMPLEXI = AST__COMPLEXI,
56 LOGICAL = AST__LOGICAL,
57 CONTINUE = AST__CONTINUE,
209 explicit FitsChan(
Stream &stream, std::string
const &options =
"");
361 std::complex<double> defval = {0, 0})
const;
382 FoundValue<std::string>
getFitsCN(std::string
const &name, std::string defval =
"")
const;
401 FoundValue<double>
getFitsF(std::string
const &name,
double defval = 0)
const;
420 FoundValue<int>
getFitsI(std::string
const &name,
int defval = 0)
const;
439 FoundValue<bool>
getFitsL(std::string
const &name,
bool defval =
false)
const;
462 FoundValue<std::string>
getFitsS(std::string
const &name, std::string defval =
"")
const;
623 void putFits(std::string
const &card,
bool overwrite) {
624 astPutFits(
getRawPtr(), card.c_str(), overwrite);
675 void setFitsCF(std::string
const &name, std::complex<double> value, std::string
const &comment =
"",
676 bool overwrite =
false) {
678 astSetFitsCF(
getRawPtr(), name.c_str(),
reinterpret_cast<double(&)[2]
>(value), comment.c_str(),
705 void setFitsCM(std::string
const &comment,
bool overwrite =
false) {
706 astSetFitsCM(
getRawPtr(), comment.c_str(), overwrite);
736 void setFitsCN(std::string
const &name, std::string value, std::string
const &comment =
"",
737 bool overwrite =
false) {
738 astSetFitsCN(
getRawPtr(), name.c_str(), value.c_str(), comment.c_str(), overwrite);
766 void setFitsF(std::string
const &name,
double value, std::string
const &comment =
"",
767 bool overwrite =
false) {
768 astSetFitsF(
getRawPtr(), name.c_str(), value, comment.c_str(), overwrite);
796 void setFitsI(std::string
const &name,
int value, std::string
const &comment =
"",
797 bool overwrite =
false) {
798 astSetFitsI(
getRawPtr(), name.c_str(), value, comment.c_str(), overwrite);
826 void setFitsL(std::string
const &name,
bool value, std::string
const &comment =
"",
827 bool overwrite =
false) {
828 astSetFitsL(
getRawPtr(), name.c_str(), value, comment.c_str(), overwrite);
864 void setFitsS(std::string
const &name, std::string value, std::string
const &comment =
"",
865 bool overwrite =
false) {
866 astSetFitsS(
getRawPtr(), name.c_str(), value.c_str(), comment.c_str(), overwrite);
895 void setFitsU(std::string
const &name, std::string
const &comment =
"",
bool overwrite =
false) {
896 astSetFitsU(
getRawPtr(), name.c_str(), comment.c_str(), overwrite);
void setIwc(bool iwcs)
Definition: FitsChan.h:947
bool found
Was the value found?
Definition: FitsChan.h:80
void emptyFits()
Definition: FitsChan.h:239
FoundValue(bool found, T const &value)
Definition: FitsChan.h:76
bool getCDMatrix() const
Definition: FitsChan.h:507
void setDefB1950(bool defB1950)
Definition: FitsChan.h:918
void setB(std::string const &attrib, bool value)
Definition: Object.h:448
FoundValue< std::string > findFits(std::string const &name, bool inc)
Definition: FitsChan.cc:112
void purgeWcs()
Definition: FitsChan.h:574
bool getB(std::string const &attrib) const
Definition: Object.h:347
FoundValue< bool > getFitsL(std::string const &name, bool defval=false) const
Definition: FitsChan.cc:79
void setFitsCF(std::string const &name, std::complex< double > value, std::string const &comment="", bool overwrite=false)
Definition: FitsChan.h:675
int getTabOK() const
Definition: FitsChan.h:555
AstObject const * getRawPtr() const
Definition: Object.h:286
void setPolyTan(int polytan)
Definition: FitsChan.h:962
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Definition: base.cc:49
FoundValue< std::string > getFitsS(std::string const &name, std::string defval="") const
Definition: FitsChan.cc:86
std::vector< std::string > getAllCardNames()
Definition: FitsChan.cc:94
void setFitsU(std::string const &name, std::string const &comment="", bool overwrite=false)
Definition: FitsChan.h:895
std::string getFitsAxisOrder() const
Definition: FitsChan.h:529
int getNCard() const
Definition: FitsChan.h:545
Definition: FitsChan.h:197
bool getDefB1950() const
Definition: FitsChan.h:517
void retainFits()
Definition: FitsChan.h:653
void setFitsI(std::string const &name, int value, std::string const &comment="", bool overwrite=false)
Definition: FitsChan.h:796
void writeFits()
Definition: FitsChan.h:997
FitsChan(Stream &stream, std::string const &options="")
Definition: FitsChan.cc:35
FoundValue< double > getFitsF(std::string const &name, double defval=0) const
Definition: FitsChan.cc:65
void setCard(int ind)
Definition: FitsChan.h:1008
void setFitsDigits(int digits)
Definition: FitsChan.h:940
CardType
Definition: FitsChan.h:48
FoundValue< std::string > getFitsCN(std::string const &name, std::string defval="") const
Definition: FitsChan.cc:57
KeyMap warnings() const
Definition: Channel.cc:64
FoundValue< std::complex< double > > getFitsCF(std::string const &name, std::complex< double > defval={0, 0}) const
Definition: FitsChan.cc:47
std::string getAllWarnings() const
Definition: FitsChan.h:476
void setTabOK(int tabOK)
Definition: FitsChan.h:954
void setC(std::string const &attrib, std::string const &value)
Definition: Object.h:460
void putFits(std::string const &card, bool overwrite)
Definition: FitsChan.h:623
void setFitsF(std::string const &name, double value, std::string const &comment="", bool overwrite=false)
Definition: FitsChan.h:766
void setFitsAxisOrder(std::string const &order)
Definition: FitsChan.h:932
void delFits()
Definition: FitsChan.h:225
T value
The found value; ignore if found is false.
Definition: FitsChan.h:81
void setWarnings(std::string const &warnings)
Definition: FitsChan.h:970
int getCard() const
Definition: FitsChan.h:481
void setClean(bool clean)
Definition: FitsChan.h:911
void setFitsS(std::string const &name, std::string value, std::string const &comment="", bool overwrite=false)
Definition: FitsChan.h:864
FoundValue< int > getFitsI(std::string const &name, int defval=0) const
Definition: FitsChan.cc:72
bool getCarLin() const
Definition: FitsChan.h:501
void putCards(std::string const &cards)
Definition: FitsChan.h:595
std::string getCardName() const
Definition: FitsChan.h:491
void setFitsCM(std::string const &comment, bool overwrite=false)
Definition: FitsChan.h:705
int getFitsDigits() const
Definition: FitsChan.h:535
CardType getCardType() const
Definition: FitsChan.h:496
FitsKeyState testFits(std::string const &name) const
Definition: FitsChan.cc:120
std::string getEncoding() const
Definition: FitsChan.h:523
std::string const getC(std::string const &attrib) const
Definition: Object.h:360
FitsKeyState
Definition: FitsChan.h:39
void readFits()
Definition: FitsChan.h:640
int getI(std::string const &attrib) const
Definition: Object.h:399
void setEncoding(std::string const &encoding)
Definition: FitsChan.h:924
void setI(std::string const &attrib, int value)
Definition: Object.h:496
void setCDMatrix(bool cdMatrix)
Definition: FitsChan.h:904
void showFits() const
Definition: FitsChan.h:975
int getNKey() const
Definition: FitsChan.h:550
void setFitsL(std::string const &name, bool value, std::string const &comment="", bool overwrite=false)
Definition: FitsChan.h:826
void setFitsCN(std::string const &name, std::string value, std::string const &comment="", bool overwrite=false)
Definition: FitsChan.h:736
FoundValue()
Default constructor: found false, value is default-constructed.
Definition: FitsChan.h:79
Definition: FitsChan.h:68
std::string getWarnings() const
Definition: FitsChan.h:567
void clearCard()
Rewind the card index to the beginning.
Definition: FitsChan.h:1003
int getPolyTan() const
Definition: FitsChan.h:561
void clear(std::string const &attrib)
Definition: Object.h:113
std::string getCardComm() const
Definition: FitsChan.h:486
bool getClean() const
Definition: FitsChan.h:512
bool getIwc() const
Definition: FitsChan.h:540