1#ifndef __JASTRONOMY__JMORPHOLOGY__
2#define __JASTRONOMY__JMORPHOLOGY__
91 virtual std::istream&
read(std::istream& in) = 0;
100 virtual std::ostream&
write(std::ostream& out)
const = 0;
125 virtual std::istream&
read(std::istream& in)
override
137 virtual std::ostream&
write(std::ostream& out)
const override
176 virtual std::istream&
read(std::istream& in)
override
189 virtual std::ostream&
write(std::ostream& out)
const override
210 const double phi = gRandom->Uniform(-PI, +PI);
242 virtual std::istream&
read(std::istream& in)
override
255 virtual std::ostream&
write(std::ostream& out)
const override
308 virtual std::istream&
read(std::istream& in)
override
322 virtual std::ostream&
write(std::ostream& out)
const override
339 const double w = gRandom->Uniform(0.0,
w1 +
w2);
351 const double theta = gRandom->Gaus(0.0, s);
352 const double phi = gRandom->Uniform(-PI, +PI);
401 virtual std::istream&
read(std::istream&
in)
override
419 virtual std::ostream&
write(std::ostream& out)
const override
439 h2->GetRandom2(x, y, gRandom);
464 if (
in == NULL || !
in->IsOpen()) {
475 mutable TFile*
in = NULL;
476 mutable TH2D*
h2 = NULL;
485 public std::shared_ptr<JMorphology>
529 static_cast<std::shared_ptr<JMorphology>&
>(object) =
object.
dictionary[key];
531 object.setTitle(key);
554 out <<
object.getTitle() <<
' ';
556 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.
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