1#ifndef __JASTRONOMY__JMORPHOLOGY__
2#define __JASTRONOMY__JMORPHOLOGY__
93 virtual std::istream&
read(std::istream& in) = 0;
102 virtual std::ostream&
write(std::ostream& out)
const = 0;
127 virtual std::istream&
read(std::istream& in)
override
139 virtual std::ostream&
write(std::ostream& out)
const override
178 virtual std::istream&
read(std::istream& in)
override
191 virtual std::ostream&
write(std::ostream& out)
const override
212 const double phi = gRandom->Uniform(-PI, +PI);
244 virtual std::istream&
read(std::istream& in)
override
257 virtual std::ostream&
write(std::ostream& out)
const override
310 virtual std::istream&
read(std::istream& in)
override
324 virtual std::ostream&
write(std::ostream& out)
const override
341 const double w = gRandom->Uniform(0.0,
w1 +
w2);
353 const double theta = gRandom->Gaus(0.0, s);
354 const double phi = gRandom->Uniform(-PI, +PI);
403 virtual std::istream&
read(std::istream&
in)
override
421 virtual std::ostream&
write(std::ostream& out)
const override
441 h2->GetRandom2(x, y, gRandom);
466 if (
in == NULL || !
in->IsOpen()) {
477 mutable TFile*
in = NULL;
478 mutable TH2D*
h2 = NULL;
550 static_cast<shared_ptr<JMorphology>&
>(object) =
object.
dictionary[key];
552 object.setTitle(key);
575 out <<
object.getTitle() <<
' ';
577 if (
static_cast<const std::shared_ptr<JMorphology>&
>(
object)) {
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.
JDirection3D & rotate_back(const JRotation3D &R)
Rotate back.
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.
std::shared_ptr< JMorphology > morphology_type
Type definition of generic morphology.
double getRadians(const double angle)
Convert angle to radians.
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.
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.
Helper for source morphology I/O.
dictionary_type dictionary
friend std::istream & operator>>(std::istream &in, JMorphology_t &object)
Read source morphology from input stream.
void put(const std::string &key, JMorphology *morphology)
Put source morphology at given key.
std::map< std::string, morphology_type > dictionary_type
const dictionary_type & getDictionary() const
Get dictionary.
JMorphology_t()
Default constructor.
friend std::ostream & operator<<(std::ostream &out, const JMorphology_t &object)
Write source morphology to output stream.
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.
const JSourceLocation & getSourceLocation() const
Get source location.
JSourceLocation()
Default constructor.
Auxiliary data structure for pair of angles.
void set(const angle_type_deg &angle)
Convert angle.
friend struct angle_type_deg