22 #ifndef ASTSHIM_FITSCHAN_H 23 #define ASTSHIM_FITSCHAN_H 77 FoundValue(
bool found, T
const &value) : found(found), value(value) {}
231 astDelFits(getRawPtr());
245 astEmptyFits(getRawPtr());
366 std::complex<double> defval = {0, 0})
const;
425 FoundValue<int> getFitsI(std::string
const &name =
"",
int defval = 0)
const;
444 FoundValue<bool> getFitsL(std::string
const &name =
"",
bool defval =
false)
const;
475 std::vector<std::string> getAllCardNames();
550 bool getIwc()
const {
return getB(
"Iwc"); }
596 astPurgeWCS(getRawPtr());
617 astPutCards(getRawPtr(), cards.c_str());
644 void putFits(std::string
const &card,
bool overwrite) {
645 astPutFits(getRawPtr(), card.c_str(), overwrite);
662 astReadFits(getRawPtr());
675 astRetainFits(getRawPtr());
696 void setFitsCF(std::string
const &name, std::complex<double> value, std::string
const &comment =
"",
697 bool overwrite =
false) {
699 astSetFitsCF(getRawPtr(), name.c_str(),
reinterpret_cast<double(&)[2]
>(value), comment.c_str(),
725 void setFitsCM(std::string
const &comment,
bool overwrite =
false) {
726 astSetFitsCM(getRawPtr(), comment.c_str(), overwrite);
756 void setFitsCN(std::string
const &name, std::string value, std::string
const &comment =
"",
757 bool overwrite =
false) {
758 astSetFitsCN(getRawPtr(), name.c_str(), value.c_str(), comment.c_str(), overwrite);
786 void setFitsF(std::string
const &name,
double value, std::string
const &comment =
"",
787 bool overwrite =
false) {
788 astSetFitsF(getRawPtr(), name.c_str(), value, comment.c_str(), overwrite);
816 void setFitsI(std::string
const &name,
int value, std::string
const &comment =
"",
817 bool overwrite =
false) {
818 astSetFitsI(getRawPtr(), name.c_str(), value, comment.c_str(), overwrite);
846 void setFitsL(std::string
const &name,
bool value, std::string
const &comment =
"",
847 bool overwrite =
false) {
848 astSetFitsL(getRawPtr(), name.c_str(), value, comment.c_str(), overwrite);
884 void setFitsS(std::string
const &name, std::string value, std::string
const &comment =
"",
885 bool overwrite =
false) {
886 astSetFitsS(getRawPtr(), name.c_str(), value.c_str(), comment.c_str(), overwrite);
915 void setFitsU(std::string
const &name, std::string
const &comment =
"",
bool overwrite =
false) {
916 astSetFitsU(getRawPtr(), name.c_str(), comment.c_str(), overwrite);
923 void setCarLin(
bool cdMatrix) { setB(
"CarLin", cdMatrix); }
934 void setClean(
bool clean) { setB(
"Clean", clean); }
945 void setEncoding(std::string
const &encoding) { setC(
"Encoding", encoding); }
967 void setIwc(
bool iwcs) { setB(
"Iwc", iwcs); }
972 void setSipOK(
bool sipOK) { setB(
"SipOK", sipOK); }
995 void setWarnings(std::string
const &warnings) { setC(
"Warnings", warnings); }
1001 astShowFits(getRawPtr());
1020 FitsKeyState testFits(std::string
const &name =
"")
const;
1026 astWriteFits(getRawPtr());
1039 auto *rawKeyMap =
reinterpret_cast<AstObject *
>(astGetTables(getRawPtr()));
1042 throw std::runtime_error(
"getTables failed (returned a null keymap)");
1044 return Object::fromAstObject<KeyMap>(rawKeyMap,
true);
1051 explicit FitsChan(AstFitsChan *rawFitsChan) :
Channel(reinterpret_cast<AstChannel *>(rawFitsChan)) {
1052 if (!astIsAFitsChan(getRawPtr())) {
1053 std::ostringstream os;
1054 os <<
"this is a " <<
getClassName() <<
", which is not a FitsChan";
1055 throw std::invalid_argument(os.str());
void setFitsTol(double tol)
Definition: FitsChan.h:962
void setIwc(bool iwcs)
Definition: FitsChan.h:967
bool found
Was the value found?
Definition: FitsChan.h:81
std::string getFitsAxisOrder() const
Definition: FitsChan.h:534
void emptyFits()
Definition: FitsChan.h:244
FoundValue(bool found, T const &value)
Definition: FitsChan.h:77
void setCarLin(bool cdMatrix)
Definition: FitsChan.h:923
void setDefB1950(bool defB1950)
Definition: FitsChan.h:939
void purgeWcs()
Definition: FitsChan.h:595
double getFitsTol() const
Definition: FitsChan.h:545
AST wrapper classes and functions.
Definition: attributes_channel.dox:1
CardType getCardType() const
Definition: FitsChan.h:501
void setSipReplace(bool replace)
Definition: FitsChan.h:978
void setFitsCF(std::string const &name, std::complex< double > value, std::string const &comment="", bool overwrite=false)
Definition: FitsChan.h:696
void setPolyTan(int polytan)
Definition: FitsChan.h:989
std::string getCardComm() const
Definition: FitsChan.h:491
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Definition: base.cc:49
void setFitsU(std::string const &name, std::string const &comment="", bool overwrite=false)
Definition: FitsChan.h:915
std::string getCardName() const
Definition: FitsChan.h:496
int getNCard() const
Definition: FitsChan.h:555
bool getCDMatrix() const
Definition: FitsChan.h:512
Definition: FitsChan.h:202
void retainFits()
Definition: FitsChan.h:674
void setFitsI(std::string const &name, int value, std::string const &comment="", bool overwrite=false)
Definition: FitsChan.h:816
void writeFits()
Definition: FitsChan.h:1025
void setCard(int ind)
Definition: FitsChan.h:1036
void setFitsDigits(int digits)
Definition: FitsChan.h:957
keyword is present and has a value
card is a comment-style card with no "=" (COMMENT, HISTORY, ...)
CardType
Definition: FitsChan.h:49
void setTabOK(int tabOK)
Definition: FitsChan.h:983
bool getCarLin() const
Definition: FitsChan.h:506
int getNKey() const
Definition: FitsChan.h:560
keyword is present, but has no value
bool getClean() const
Definition: FitsChan.h:517
bool getDefB1950() const
Definition: FitsChan.h:522
void putFits(std::string const &card, bool overwrite)
Definition: FitsChan.h:644
void setFitsF(std::string const &name, double value, std::string const &comment="", bool overwrite=false)
Definition: FitsChan.h:786
void setFitsAxisOrder(std::string const &order)
Definition: FitsChan.h:951
void delFits()
Definition: FitsChan.h:230
T value
The found value; ignore if found is false.
Definition: FitsChan.h:82
bool getSipReplace() const
Definition: FitsChan.h:571
void setWarnings(std::string const &warnings)
Definition: FitsChan.h:995
void setClean(bool clean)
Definition: FitsChan.h:934
void setFitsS(std::string const &name, std::string value, std::string const &comment="", bool overwrite=false)
Definition: FitsChan.h:884
std::string getClassName(AstObject const *rawObj)
Definition: utils.cc:37
void putCards(std::string const &cards)
Definition: FitsChan.h:616
void setFitsCM(std::string const &comment, bool overwrite=false)
Definition: FitsChan.h:725
std::string getAllWarnings() const
Definition: FitsChan.h:481
std::string getEncoding() const
Definition: FitsChan.h:528
int getCard() const
Definition: FitsChan.h:486
std::string getWarnings() const
Definition: FitsChan.h:588
FitsKeyState
Definition: FitsChan.h:40
void readFits()
Definition: FitsChan.h:661
int getTabOK() const
Definition: FitsChan.h:576
void setEncoding(std::string const &encoding)
Definition: FitsChan.h:945
void showFits() const
Definition: FitsChan.h:1000
void setSipOK(bool sipOK)
Definition: FitsChan.h:972
void setCDMatrix(bool cdMatrix)
Definition: FitsChan.h:929
void setFitsL(std::string const &name, bool value, std::string const &comment="", bool overwrite=false)
Definition: FitsChan.h:846
void setFitsCN(std::string const &name, std::string value, std::string const &comment="", bool overwrite=false)
Definition: FitsChan.h:756
FoundValue()
Default constructor: found false, value is default-constructed.
Definition: FitsChan.h:80
Definition: FitsChan.h:69
void clearCard()
Rewind the card index to the beginning.
Definition: FitsChan.h:1031
card does not exist (card number invalid)
bool getIwc() const
Definition: FitsChan.h:550
std::shared_ptr< KeyMap > getTables() const
Definition: FitsChan.h:1038
bool getSipOK() const
Definition: FitsChan.h:565
int getPolyTan() const
Definition: FitsChan.h:582
int getFitsDigits() const
Definition: FitsChan.h:540
FitsChan(AstFitsChan *rawFitsChan)
Definition: FitsChan.h:1051