1#ifndef __JASTRONOMY__JMORPHOLOGY__
2#define __JASTRONOMY__JMORPHOLOGY__
102 virtual std::istream&
read(std::istream& in) = 0;
111 virtual std::ostream&
write(std::ostream& out)
const = 0;
136 virtual std::istream&
read(std::istream& in)
override
148 virtual std::ostream&
write(std::ostream& out)
const override
187 virtual std::istream&
read(std::istream& in)
override
200 virtual std::ostream&
write(std::ostream& out)
const override
221 const double phi = gRandom->Uniform(-PI, +PI);
253 virtual std::istream&
read(std::istream& in)
override
266 virtual std::ostream&
write(std::ostream& out)
const override
319 virtual std::istream&
read(std::istream& in)
override
333 virtual std::ostream&
write(std::ostream& out)
const override
350 const double w = gRandom->Uniform(0.0,
w1 +
w2);
362 const double theta = gRandom->Gaus(0.0, s);
363 const double phi = gRandom->Uniform(-PI, +PI);
412 virtual std::istream&
read(std::istream&
in)
override
430 virtual std::ostream&
write(std::ostream& out)
const override
450 h2->GetRandom2(x, y, gRandom);
475 if (
in == NULL || !
in->IsOpen()) {
486 mutable TFile*
in = NULL;
487 mutable TH2D*
h2 = NULL;
496 public std::shared_ptr<JMorphology>
540 static_cast<std::shared_ptr<JMorphology>&
>(object) =
object.
dictionary[key];
542 object.setTitle(key);
565 out <<
object.getTitle() <<
' ';
567 if (
static_cast<const std::shared_ptr<JMorphology>&
>(
object)) {
#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.
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.
std::map< std::string, std::shared_ptr< JMorphology > > 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.
JMorphology_t()
Default constructor.
friend std::ostream & operator<<(std::ostream &out, const JMorphology_t &object)
Write source morphology to output stream.
Inteface 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.
const JSourceLocation & getSourceLocation() const
Get source location.
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.
JSourceLocation()
Default constructor.
Auxiliary data structure for pair of angles.
void set(const angle_type_deg &angle)
Convert angle.
friend struct angle_type_deg