27 #ifndef GCTAINSTDIR_HPP
28 #define GCTAINSTDIR_HPP
32 #include <sys/types.h>
33 #if defined(__sun) && (defined(__svr4__) || defined(__SVR4)) // SOLARIS
34 typedef uint64_t u_int64_t;
42 #define G_DETX "GCTAInstDir::detx()"
43 #define G_DETY "GCTAInstDir::dety()"
44 #define G_THETA "GCTAInstDir::theta()"
45 #define G_PHI "GCTAInstDir::theta()"
46 #define G_DIR "GCTAInstDir::dir()"
78 virtual void clear(
void);
80 virtual std::string
classname(
void)
const;
81 virtual u_int64_t
hash(
void)
const;
87 void detx(
const double &x);
88 void dety(
const double &y);
89 const double&
detx(
void)
const;
90 const double&
dety(
void)
const;
91 double theta(
void)
const;
92 double phi(
void)
const;
93 const bool&
has_dir(
void)
const;
121 return (
"GCTAInstDir");
155 std::string msg =
"Instrument coordinate has no valid sky direction.";
208 std::string msg =
"Instrument coordinate has no valid DETX coordinate.";
229 std::string msg =
"Instrument coordinate has no valid DETY coordinate.";
255 std::string msg =
"Instrument coordinate has no valid DETX or DETY coordinate.";
282 std::string msg =
"Instrument coordinate has no valid DETX or DETY coordinate.";
bool m_has_detx
Has valid instrument coordinate X.
Abstract instrument direction base class definition.
virtual ~GCTAInstDir(void)
Destructor.
const double & dety(void) const
Return reference to DETY coordinate (in radians)
Sky direction class interface definition.
bool m_has_dir
Has valid incident direction.
const double & detx(void) const
Return reference to DETX coordinate (in radians)
const bool & has_dir(void) const
Signal if instrument direction has valid sky direction.
GCTAInstDir & operator=(const GCTAInstDir &dir)
Assignment operator.
const GSkyDir & dir(void) const
Return reference to sky direction (const version)
Abstract instrument direction base class.
GVector sqrt(const GVector &vector)
Computes square root of vector elements.
double m_dety
Instrument coordinate Y (radians)
double theta(void) const
Return offset angle (in radians)
void init_members(void)
Initialise class members.
double m_detx
Instrument coordinate X (radians)
bool m_has_dety
Has valid instrument coordinate Y.
GCTAInstDir(void)
Void constructor.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print instrument direction information.
virtual GCTAInstDir * clone(void) const
CTA instrument direction.
virtual void clear(void)
Clear CTA instrument direction.
GSkyDir m_dir
Observed incident direction of event.
const bool & has_dety(void) const
Signal if instrument direction has valid DETY coordinate.
Exception handler interface definition.
double atan2(const double &y, const double &x)
Compute arc tangens in radians.
void copy_members(const GCTAInstDir &dir)
Copy class members.
virtual std::string classname(void) const
Return class name.
CTA instrument direction class.
const bool & has_detx(void) const
Signal if instrument direction has valid DETX coordinate.
double phi(void) const
Return azimuth angle (in radians)
void free_members(void)
Delete class members.
virtual u_int64_t hash(void) const
Return instrument direction hash value.
Mathematical function definitions.