1#ifndef __JASTRONOMY__JMORPHOLOGY__
2#define __JASTRONOMY__JMORPHOLOGY__
97 virtual std::istream&
read(std::istream& in) = 0;
106 virtual std::ostream&
write(std::ostream& out)
const = 0;
123 public JClonable<JMorphology, JMorphologyPoint>
131 virtual std::istream&
read(std::istream& in)
override
143 virtual std::ostream&
write(std::ostream& out)
const override
174 public JClonable<JMorphology, JMorphologyGauss>
182 virtual std::istream&
read(std::istream& in)
override
195 virtual std::ostream&
write(std::ostream& out)
const override
216 const double phi =
gRandom->Uniform(-PI, +PI);
240 public JClonable<JMorphology, JMorphologyGauss2D>
248 virtual std::istream&
read(std::istream& in)
override
261 virtual std::ostream&
write(std::ostream& out)
const override
306 public JClonable<JMorphology, JMorphologyBinary>
314 virtual std::istream&
read(std::istream& in)
override
328 virtual std::ostream&
write(std::ostream& out)
const override
357 const double theta =
gRandom->Gaus(0.0, s);
358 const double phi =
gRandom->Uniform(-PI, +PI);
388 public JClonable<JMorphology, JMorphologyHistogram>
407 virtual std::istream&
read(std::istream&
in)
override
425 virtual std::ostream&
write(std::ostream& out)
const override
496 public std::map<std::string, morphology_type>
524 const_iterator p = this->find(key);
526 if (p != this->end()) {
528 object.reset(p->second->clone());
530 object->setTitle(key);
573 out <<
object->getTitle() <<
' ';
Interface methods for SLALIB and auxiliary classes and methods for astronomy.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Data structure for angles in three dimensions.
Data structure for direction in three dimensions.
Exception for opening of file.
Exception for parsing value.
Auxiliary class for title.
Exception for accessing a value in a collection that is outside of its range.
Template definition of a multi-dimensional oscillation probability interpolation table.
static const JMorphologyHelper morphology_helper
Helper object for morphology I/O.
std::shared_ptr< JMorphology > morphology_type
Type definition of generic morphology.
std::ostream & operator<<(std::ostream &out, const morphology_type &object)
Write morphology to output stream.
double getRadians(const double angle)
Convert angle to radians.
std::istream & operator>>(std::istream &in, morphology_type &object)
Read morphology from input stream.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Implementation of binary source morphology.
virtual std::ostream & write(std::ostream &out) const override
Write source morphology to output stream.
virtual JSourceLocation get() const override
Get location on sky.
virtual std::istream & read(std::istream &in) override
Read source morphology from input stream.
Implementation of 2D-Gaussian source morphology.
virtual JSourceLocation get() const override
Get location on sky.
virtual std::ostream & write(std::ostream &out) const override
Write source morphology to output stream.
virtual std::istream & read(std::istream &in) override
Read source morphology from input stream.
Implementation of Gaussian source morphology.
virtual std::ostream & write(std::ostream &out) const override
Write source morphology to output stream.
virtual std::istream & read(std::istream &in) override
Read source morphology from input stream.
virtual JSourceLocation get() const override
Get location on sky.
Helper data structure for source morphology I/O.
JMorphologyHelper()
Default constructor.
std::istream & operator()(std::istream &in, morphology_type &object) const
Parse source morphology from input stream.
Implementation of histogram source morphology.
virtual std::istream & read(std::istream &in) override
Read source morphology from input stream.
virtual JSourceLocation get() const override
Get location on sky.
virtual ~JMorphologyHistogram()
Virtual destructor.
virtual std::ostream & write(std::ostream &out) const override
Write source morphology to output stream.
void load()
Load histogram from file.
Implementation of point source morphology.
virtual std::ostream & write(std::ostream &out) const override
Write source morphology to output stream.
virtual std::istream & read(std::istream &in) override
Read source morphology from input stream.
virtual JSourceLocation get() const override
Get location on sky.
Interface for source morphology simulation.
static std::istream & read(std::istream &in, JSourceLocation &source)
Read source location in degrees from input stream.
virtual std::ostream & write(std::ostream &out) const =0
Write source morphology to output stream.
virtual std::istream & read(std::istream &in)=0
Read source morphology from input stream.
static std::ostream & write(std::ostream &out, const JSourceLocation &source)
Write source location in degrees to output stream.
virtual ~JMorphology()
Virtual destructor.
virtual JSourceLocation get() const =0
Get location on sky.
Location of astrophysical source.
Auxiliary data structure for pair of angles.
void set(const angle_type_deg &angle)
Convert angle.
friend struct angle_type_deg
Template class for object cloning.