Berkeley Nuclear Data Software
Public Member Functions | Protected Attributes | List of all members
DetectorInfo Class Reference

#include <ConfigClasses.h>

Inheritance diagram for DetectorInfo:
Inheritance graph
[legend]

Public Member Functions

 DetectorInfo ()
 
DetType getDetType () const
 
int getDetectorID () const
 
double getX () const
 
double getY () const
 
double getZ () const
 
double getrX () const
 
double getrY () const
 
double getrZ () const
 
double getDetectorLength () const
 
double getDistance (double a_detHalfLength) const
 distance in m. detLength in m More...
 
std::vector< double > getLocation (double a_stepLenght) const
 
void setDetType (DetType a_detType)
 
void setDetectorID (int a_detectorID)
 
void setX (double a_x)
 
void setY (double a_y)
 
void setZ (double a_z)
 
virtual void translate (double a_x, double a_y, double a_z)
 
void setrX (double a_rX)
 
void setrY (double a_rY)
 
void setrZ (double a_rZ)
 
void setDetectorLength (double a_detLength)
 
std::vector< double > getDetectorCenter ()
 
double getScatteringAngle (double a_bx, double a_by, double a_bz, double a_sx, double a_sy, double a_sz)
 
double getBeamScatteringAngle (double a_bx, double a_by, double a_bz, DetectorInfo &a_rhs)
 
double getSourceScatteringAngle (double a_sx, double a_sy, double a_sz, DetectorInfo &a_rhs)
 
double getDistance (float a_thisDetHalfL, float a_rhsHalfL, DetectorInfo &a_rhs)
 
virtual std::ostream & print (std::ostream &a_stream) const
 
virtual ~DetectorInfo ()
 

Protected Attributes

DetType m_detType
 
int m_detectorID
 
double m_x
 
double m_y
 
double m_z
 
double m_rX
 
double m_rY
 
double m_rZ
 
double m_detectorLength
 

Detailed Description

this class is intended to be an abstraction of the elements common to all detectors needed for analysis which needs to differentiate between numerous detectors and store some information about their location and orientation in space.

Constructor & Destructor Documentation

◆ DetectorInfo()

DetectorInfo::DetectorInfo ( )

◆ ~DetectorInfo()

DetectorInfo::~DetectorInfo ( )
virtual

Member Function Documentation

◆ getBeamScatteringAngle()

double DetectorInfo::getBeamScatteringAngle ( double  a_bx,
double  a_by,
double  a_bz,
DetectorInfo a_rhs 
)

given another detector through which a particle has scattered through and an incident particle direction this function returns the angle through which the particle scattered the ith component of incident particles direction is given by a_bi the other detector location is stored withing the class

given another detector through which a particle has scattered through and an incident particle direction this function returns the angle through which the particle scattered

need to find the vector between detectors on use the physics calcs

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getDetectorCenter()

std::vector< double > DetectorInfo::getDetectorCenter ( )

this function returns the x,y,z coordinates of the center of the detector using the internally stored detector length

Here is the caller graph for this function:

◆ getDetectorID()

int DetectorInfo::getDetectorID ( ) const
Here is the caller graph for this function:

◆ getDetectorLength()

double DetectorInfo::getDetectorLength ( ) const

◆ getDetType()

DetType DetectorInfo::getDetType ( ) const
Here is the caller graph for this function:

◆ getDistance() [1/2]

double DetectorInfo::getDistance ( double  a_detHalfLength) const

distance in m. detLength in m

Here is the caller graph for this function:

◆ getDistance() [2/2]

double DetectorInfo::getDistance ( float  a_thisDetHalfL,
float  a_rhsHalfL,
DetectorInfo a_rhs 
)

this function returns the distance from the center points of the detectors the HalfL variables specify the offset of the detector location along the rotation axis to reach the center of the cell

◆ getLocation()

std::vector< double > DetectorInfo::getLocation ( double  a_stepLenght) const

this function returns an offset into the detector by the specified length along the specified rotation vector returning the point within

◆ getrX()

double DetectorInfo::getrX ( ) const
Here is the caller graph for this function:

◆ getrY()

double DetectorInfo::getrY ( ) const
Here is the caller graph for this function:

◆ getrZ()

double DetectorInfo::getrZ ( ) const
Here is the caller graph for this function:

◆ getScatteringAngle()

double DetectorInfo::getScatteringAngle ( double  a_bx,
double  a_by,
double  a_bz,
double  a_sx,
double  a_sy,
double  a_sz 
)

given an incident beam direction and a location through which the a particle has scattered this returns the azimuthal angle the ith component of incident particles direction is given by a_bi the scattering location is given by a_si

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSourceScatteringAngle()

double DetectorInfo::getSourceScatteringAngle ( double  a_sx,
double  a_sy,
double  a_sz,
DetectorInfo a_rhs 
)

given a source location specified by a_si this function returns the scattering angle through wich a particle emitted from the source must have scattered to result in this location

given a source location specified by a_si this function returns the scattering angle through which a particle emitted from the source must have scatterd to result in this location

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getX()

double DetectorInfo::getX ( ) const
Here is the caller graph for this function:

◆ getY()

double DetectorInfo::getY ( ) const
Here is the caller graph for this function:

◆ getZ()

double DetectorInfo::getZ ( ) const
Here is the caller graph for this function:

◆ print()

std::ostream & DetectorInfo::print ( std::ostream &  a_stream) const
virtual

Reimplemented in CloverInfo, MultiPMTOrgScintInfo, OrgScintInfo, and DetectorElementInfo.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setDetectorID()

void DetectorInfo::setDetectorID ( int  a_detectorID)
Here is the caller graph for this function:

◆ setDetectorLength()

void DetectorInfo::setDetectorLength ( double  a_detLength)
Here is the caller graph for this function:

◆ setDetType()

void DetectorInfo::setDetType ( DetType  a_detType)
Here is the caller graph for this function:

◆ setrX()

void DetectorInfo::setrX ( double  a_rX)
Here is the caller graph for this function:

◆ setrY()

void DetectorInfo::setrY ( double  a_rY)
Here is the caller graph for this function:

◆ setrZ()

void DetectorInfo::setrZ ( double  a_rZ)
Here is the caller graph for this function:

◆ setX()

void DetectorInfo::setX ( double  a_x)
Here is the caller graph for this function:

◆ setY()

void DetectorInfo::setY ( double  a_y)
Here is the caller graph for this function:

◆ setZ()

void DetectorInfo::setZ ( double  a_z)
Here is the caller graph for this function:

◆ translate()

void DetectorInfo::translate ( double  a_x,
double  a_y,
double  a_z 
)
virtual

Reimplemented in CloverInfo, and MultiPMTOrgScintInfo.

Member Data Documentation

◆ m_detectorID

int DetectorInfo::m_detectorID
protected

◆ m_detectorLength

double DetectorInfo::m_detectorLength
protected

◆ m_detType

DetType DetectorInfo::m_detType
protected

◆ m_rX

double DetectorInfo::m_rX
protected

◆ m_rY

double DetectorInfo::m_rY
protected

◆ m_rZ

double DetectorInfo::m_rZ
protected

◆ m_x

double DetectorInfo::m_x
protected

◆ m_y

double DetectorInfo::m_y
protected

◆ m_z

double DetectorInfo::m_z
protected

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