Jpp 21.0.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
JPHYSICS::JPMTAngularAcceptance Struct Reference

Auxiliary data structure to customize PMT angular acceptance. More...

#include <JPDFSupportkit.hh>

Inheritance diagram for JPHYSICS::JPMTAngularAcceptance:
std::map< std::string, double(*)(const double)>

Public Member Functions

 JPMTAngularAcceptance ()
 Default constructor.
 

Static Public Member Functions

static double getAngularAcceptance (const double x)
 Get angular acceptance of PMT.
 
static mapped_type & get_function ()
 Get reference to global functon.
 

Static Public Attributes

static constexpr const char *const default_t = "default"
 

Friends

std::istream & operator>> (std::istream &in, JPMTAngularAcceptance &object)
 Read PMT angular acceptance from input stream.
 
std::ostream & operator<< (std::ostream &out, const JPMTAngularAcceptance &object)
 Write PMT angular acceptance to output stream.
 

Detailed Description

Auxiliary data structure to customize PMT angular acceptance.

Definition at line 387 of file JPDFSupportkit.hh.

Constructor & Destructor Documentation

◆ JPMTAngularAcceptance()

JPHYSICS::JPMTAngularAcceptance::JPMTAngularAcceptance ( )
inline

Default constructor.

Definition at line 396 of file JPDFSupportkit.hh.

397 {
399
400 get_function() = (*this)[default_t];
401 }
double getAngularAcceptance(const double x)
static constexpr const char *const default_t
static mapped_type & get_function()
Get reference to global functon.

Member Function Documentation

◆ getAngularAcceptance()

static double JPHYSICS::JPMTAngularAcceptance::getAngularAcceptance ( const double x)
inlinestatic

Get angular acceptance of PMT.

Parameters
xcosine angle of incidence
Returns
probability

Definition at line 448 of file JPDFSupportkit.hh.

449 {
450 return (*get_function())(x);
451 }

◆ get_function()

static mapped_type & JPHYSICS::JPMTAngularAcceptance::get_function ( )
inlinestatic

Get reference to global functon.

Returns
function

Definition at line 459 of file JPDFSupportkit.hh.

460 {
461 static mapped_type f1 = NAMESPACE::getAngularAcceptance;
462
463 return f1;
464 }

Friends And Related Symbol Documentation

◆ operator>>

std::istream & operator>> ( std::istream & in,
JPMTAngularAcceptance & object )
friend

Read PMT angular acceptance from input stream.

Parameters
ininput stream
objectPMT angular acceptance
Returns
input stream

Definition at line 411 of file JPDFSupportkit.hh.

412 {
413 using namespace std;
414
415 for (string option; in >> option; ) {
416
417 JPMTAngularAcceptance::const_iterator p = object.find(option);
418
419 if (p != object.end())
421 else
422 in.setstate(ios_base::badbit);
423 }
424
425 return in;
426 }

◆ operator<<

std::ostream & operator<< ( std::ostream & out,
const JPMTAngularAcceptance & object )
friend

Write PMT angular acceptance to output stream.

Parameters
outoutput stream
objectPMT angular acceptance
Returns
output stream

Definition at line 436 of file JPDFSupportkit.hh.

437 {
438 return out << getKey(object, default_t, get_function());
439 }
std::string getKey(const std::map< std::string, T > &map, const std::string &key, const T &value)
Auxiliary method to get preferred key for given value.

Member Data Documentation

◆ default_t

const char* const JPHYSICS::JPMTAngularAcceptance::default_t = "default"
staticconstexpr

Definition at line 390 of file JPDFSupportkit.hh.


The documentation for this struct was generated from the following file: