Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
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.
 
double getOpeningAngle () const
 return the PMT opening angle in radians
 
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.
 
double getEffectiveArea () const
 
virtual double getEffectiveArea ()
 Return the effective area, i.e.
 
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

◆ JPMTTarget()

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 }

Member Function Documentation

◆ getOpeningAngle()

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

return the PMT opening angle in radians

Definition at line 339 of file JScatteringModel.hh.

339{ return alpha ; }

◆ getEfficiency()

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.

◆ getEffectiveArea() [1/2]

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 }

◆ getEffectiveArea() [2/2]

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 ; }

◆ setRadius()

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

Definition at line 298 of file JScatteringModel.hh.

298{ r = _r ; }

◆ getRadius()

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

Definition at line 301 of file JScatteringModel.hh.

301{ return r ; }

◆ setPosition()

void JMARKOV::JTargetModel::setPosition ( JPosition3D & _pos)
inlineinherited

Definition at line 303 of file JScatteringModel.hh.

303{ axis = JAxis3D(_pos,axis.getDirection()) ; }

◆ getPosition()

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.

◆ setDirection()

void JMARKOV::JTargetModel::setDirection ( JVersor3D & _dir)
inlineinherited

Definition at line 306 of file JScatteringModel.hh.

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

◆ getDirection()

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

Definition at line 307 of file JScatteringModel.hh.

307{ return axis.getDirection() ; }

Member Data Documentation

◆ ctmin

double JMARKOV::JPMTTarget::ctmin

Definition at line 354 of file JScatteringModel.hh.

◆ alpha

double JMARKOV::JPMTTarget::alpha
protected

Definition at line 358 of file JScatteringModel.hh.

◆ r

double JMARKOV::JTargetModel::r
protectedinherited

Definition at line 311 of file JScatteringModel.hh.

◆ axis

JAxis3D JMARKOV::JTargetModel::axis
protectedinherited

Definition at line 312 of file JScatteringModel.hh.


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