Jpp  17.2.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Public Attributes | Protected Attributes | List of all members
JMARKOV::JPMTTarget Class Reference

Implementation of the JTargetModel class that represents a single PMT on a DOM. More...

#include <JScatteringModel.hh>

Inheritance diagram for JMARKOV::JPMTTarget:
JMARKOV::JTargetModel

Public Member Functions

 JPMTTarget (JAxis3D _axis, double _alpha, double _r=0.2159)
 Constructor. More...
 
double getOpeningAngle () const
 return the PMT opening angle in radians More...
 
double getEfficiency (JVersor3D dir) const
 Return the efficiency, which is defined as the probability that a photon with the given direction hitting the target will be registered. More...
 
double getEffectiveArea () const
 
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
 

Public Attributes

double ctmin
 

Protected Attributes

double alpha
 
double r
 
JAxis3D axis
 

Detailed Description

Implementation of the JTargetModel class that represents a single PMT on a DOM.

Definition at line 319 of file JScatteringModel.hh.

Constructor & Destructor Documentation

JMARKOV::JPMTTarget::JPMTTarget ( JAxis3D  _axis,
double  _alpha,
double  _r = 0.2159 
)
inline

Constructor.

_r is DOM radius, default = 0.2159 [m] (=17 inch diameter glass sphere)

_alpha is the opening angle in radians

Definition at line 329 of file JScatteringModel.hh.

329  {
330  setRadius(_r) ;
331  axis = _axis ;
332  alpha = _alpha ;
333 
334  // minimal dot product of PMT direction vs hit direction on DOM
335  ctmin = cos(0.5*_alpha) ;
336  }
void setRadius(double _r)

Member Function Documentation

double JMARKOV::JPMTTarget::getOpeningAngle ( ) const
inline

return the PMT opening angle in radians

Definition at line 339 of file JScatteringModel.hh.

339 { return alpha ; }
double JMARKOV::JPMTTarget::getEfficiency ( JVersor3D  dir) const
inlinevirtual

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.

Implements JMARKOV::JTargetModel.

Definition at line 341 of file JScatteringModel.hh.

341  {
342  const double ct = axis.getDirection().getDot(dir) ;
343  if( ct > ctmin ) {
344  return 1.0 ;
345  } else {
346  return 0.0 ;
347  }
348  }
const JDirection3D & getDirection() const
Get direction.
double getDot(const JAngle3D &angle) const
Get dot product.
double JMARKOV::JPMTTarget::getEffectiveArea ( ) const
inline

Definition at line 350 of file JScatteringModel.hh.

350  {
351  return 2.0*r*r*M_PI*(1-ctmin) ;
352  }
virtual double JMARKOV::JTargetModel::getEffectiveArea ( )
inlinevirtualinherited

Return the effective area, i.e.

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

Definition at line 295 of file JScatteringModel.hh.

295 { return 0.0 ; }
void JMARKOV::JTargetModel::setRadius ( double  _r)
inlineinherited

Definition at line 298 of file JScatteringModel.hh.

298 { r = _r ; }
double JMARKOV::JTargetModel::getRadius ( ) const
inlineinherited

Definition at line 301 of file JScatteringModel.hh.

301 { return r ; }
void JMARKOV::JTargetModel::setPosition ( JPosition3D _pos)
inlineinherited

Definition at line 303 of file JScatteringModel.hh.

303 { axis = JAxis3D(_pos,axis.getDirection()) ; }
const JDirection3D & getDirection() const
Get direction.
Axis object.
Definition: JAxis3D.hh:38
const JPosition3D& JMARKOV::JTargetModel::getPosition ( ) const
inlineinherited

Definition at line 304 of file JScatteringModel.hh.

304 { return axis.getPosition() ; }
const JPosition3D & getPosition() const
Get position.
Definition: JPosition3D.hh:130
void JMARKOV::JTargetModel::setDirection ( JVersor3D _dir)
inlineinherited

Definition at line 306 of file JScatteringModel.hh.

306 { axis = JAxis3D(axis.getPosition(),_dir) ; }
Axis object.
Definition: JAxis3D.hh:38
const JPosition3D & getPosition() const
Get position.
Definition: JPosition3D.hh:130
const JVersor3D& JMARKOV::JTargetModel::getDirection ( ) const
inlineinherited

Definition at line 307 of file JScatteringModel.hh.

307 { return axis.getDirection() ; }
const JDirection3D & getDirection() const
Get direction.

Member Data Documentation

double JMARKOV::JPMTTarget::ctmin

Definition at line 354 of file JScatteringModel.hh.

double JMARKOV::JPMTTarget::alpha
protected

Definition at line 358 of file JScatteringModel.hh.

double JMARKOV::JTargetModel::r
protectedinherited

Definition at line 311 of file JScatteringModel.hh.

JAxis3D JMARKOV::JTargetModel::axis
protectedinherited

Definition at line 312 of file JScatteringModel.hh.


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