Jpp  19.1.0-rc.1
the software that should make you happy
Public Member Functions | Protected Attributes | List of all members
JMARKOV::JTargetModel Class Referenceabstract

Virtual base class for a light detector ("photon target"). More...

#include <JScatteringModel.hh>

Inheritance diagram for JMARKOV::JTargetModel:
JMARKOV::JCosineTarget JMARKOV::JIsotropicTarget JMARKOV::JPMTTarget

Public Member Functions

 JTargetModel ()
 
virtual ~JTargetModel ()
 
virtual double getEfficiency (JVersor3D dir) const =0
 Return the efficiency, which is defined as the probability that a photon with the given direction hitting the target will be registered. More...
 
virtual double getEffectiveArea ()
 Return the effective area, i.e. More...
 
void setRadius (double _r)
 
double getRadius () const
 
void setPosition (JPosition3D &_pos)
 
const JPosition3DgetPosition () const
 
void setDirection (JVersor3D &_dir)
 
const JVersor3DgetDirection () const
 

Protected Attributes

double r
 
JAxis3D axis
 

Detailed Description

Virtual base class for a light detector ("photon target").

Definition at line 270 of file JScatteringModel.hh.

Constructor & Destructor Documentation

◆ JTargetModel()

JMARKOV::JTargetModel::JTargetModel ( )
inline

Definition at line 273 of file JScatteringModel.hh.

273  {
274  r = 0 ; // infinitely small target by default
275  }

◆ ~JTargetModel()

virtual JMARKOV::JTargetModel::~JTargetModel ( )
inlinevirtual

Definition at line 277 of file JScatteringModel.hh.

277 {}

Member Function Documentation

◆ getEfficiency()

virtual double JMARKOV::JTargetModel::getEfficiency ( JVersor3D  dir) const
pure virtual

Return the efficiency, which is defined as the probability that a photon with the given direction hitting the target will be registered.

Note that we assume by convention that the direction is the PHOTON direction, NOT the direction that you would see the photon coming from!

By convention the highest efficiency is 1.

Implemented in JMARKOV::JCosineTarget, JMARKOV::JIsotropicTarget, and JMARKOV::JPMTTarget.

◆ getEffectiveArea()

virtual double JMARKOV::JTargetModel::getEffectiveArea ( )
inlinevirtual

Return the effective area, i.e.

the integral over the whole surface of the target, weighted by the efficiency.

Definition at line 296 of file JScatteringModel.hh.

296 { return 0.0 ; }

◆ setRadius()

void JMARKOV::JTargetModel::setRadius ( double  _r)
inline

Definition at line 299 of file JScatteringModel.hh.

299 { r = _r ; }

◆ getRadius()

double JMARKOV::JTargetModel::getRadius ( ) const
inline

Definition at line 302 of file JScatteringModel.hh.

302 { return r ; }

◆ setPosition()

void JMARKOV::JTargetModel::setPosition ( JPosition3D _pos)
inline

Definition at line 304 of file JScatteringModel.hh.

304 { axis = JAxis3D(_pos,axis.getDirection()) ; }
Axis object.
Definition: JAxis3D.hh:41
const JDirection3D & getDirection() const
Get direction.

◆ getPosition()

const JPosition3D& JMARKOV::JTargetModel::getPosition ( ) const
inline

Definition at line 305 of file JScatteringModel.hh.

305 { return axis.getPosition() ; }
const JPosition3D & getPosition() const
Get position.
Definition: JPosition3D.hh:130

◆ setDirection()

void JMARKOV::JTargetModel::setDirection ( JVersor3D _dir)
inline

Definition at line 307 of file JScatteringModel.hh.

307 { axis = JAxis3D(axis.getPosition(),_dir) ; }

◆ getDirection()

const JVersor3D& JMARKOV::JTargetModel::getDirection ( ) const
inline

Definition at line 308 of file JScatteringModel.hh.

308 { return axis.getDirection() ; }

Member Data Documentation

◆ r

double JMARKOV::JTargetModel::r
protected

Definition at line 312 of file JScatteringModel.hh.

◆ axis

JAxis3D JMARKOV::JTargetModel::axis
protected

Definition at line 313 of file JScatteringModel.hh.


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