27#ifndef GCTAINSTDIR_HPP
28#define GCTAINSTDIR_HPP
33#if defined(__sun) && (defined(__svr4__) || defined(__SVR4))
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.";
Exception handler interface definition.
Abstract instrument direction base class definition.
Mathematical function definitions.
Sky direction class interface definition.
CTA instrument direction class.
virtual ~GCTAInstDir(void)
Destructor.
const bool & has_detx(void) const
Signal if instrument direction has valid DETX coordinate.
bool m_has_dety
Has valid instrument coordinate Y.
virtual u_int64_t hash(void) const
Return instrument direction hash value.
const GSkyDir & dir(void) const
Return reference to sky direction (const version)
double m_dety
Instrument coordinate Y (radians)
double theta(void) const
Return offset angle (in radians)
virtual void clear(void)
Clear CTA instrument direction.
bool m_has_dir
Has valid incident direction.
const bool & has_dety(void) const
Signal if instrument direction has valid DETY coordinate.
const double & detx(void) const
Return reference to DETX coordinate (in radians)
virtual GCTAInstDir * clone(void) const
CTA instrument direction.
void init_members(void)
Initialise class members.
GCTAInstDir(void)
Void constructor.
void free_members(void)
Delete class members.
double m_detx
Instrument coordinate X (radians)
void copy_members(const GCTAInstDir &dir)
Copy class members.
GCTAInstDir & operator=(const GCTAInstDir &dir)
Assignment operator.
virtual std::string print(const GChatter &chatter=NORMAL) const
Print instrument direction information.
const bool & has_dir(void) const
Signal if instrument direction has valid sky direction.
virtual std::string classname(void) const
Return class name.
GSkyDir m_dir
Observed incident direction of event.
double phi(void) const
Return azimuth angle (in radians)
bool m_has_detx
Has valid instrument coordinate X.
const double & dety(void) const
Return reference to DETY coordinate (in radians)
Abstract instrument direction base class.
double atan2(const double &y, const double &x)
Compute arc tangens in radians.