CbmRoot
Loading...
Searching...
No Matches
cbm::algo::GeoVolume Class Reference

A representation of a geometrical volume of different tracking stations. More...

#include <GeoVolume.h>

Collaboration diagram for cbm::algo::GeoVolume:
[legend]

Classes

struct  Dimension
 A volume dimension representation. More...
 

Public Member Functions

 GeoVolume ()=default
 Default constructor.
 
 GeoVolume (double xMin, double xMax, double yMin, double yMax, double zMin, double zMax)
 A constructor from parameters.
 
 GeoVolume (std::pair< double, double > x, std::pair< double, double > y, std::pair< double, double > z)
 A constructor from parameters.
 
GeoVolumeoperator+= (const GeoVolume &other)
 Compound assignment of another volume.
 
bool IsValid () const
 Checks validity of the volume.
 
double GetCenterX () const
 Gets center in x-direction [cm].
 
double GetCenterY () const
 Gets center in y-direction [cm].
 
double GetCenterZ () const
 Gets center in z-direction [cm].
 
double GetMaxX () const
 Gets upper bound in x-direction [cm].
 
double GetMaxY () const
 Gets upper bound in y-direction [cm].
 
double GetMaxZ () const
 Gets upper bound in z-diretion [cm].
 
double GetMinX () const
 Gets lower bound in x-direction [cm].
 
double GetMinY () const
 Gets lower bound in y-direction [cm].
 
double GetMinZ () const
 Gets lower bound in z-diretion [cm].
 
double GetSizeX () const
 Gets size in x-direction [cm].
 
double GetSizeY () const
 Gets size in y-direction [cm].
 
double GetSizeZ () const
 Gets size in z-direction [cm].
 
bool HasOverlapWith (const GeoVolume &other) const
 Checks, if the volume overlaps with another volume.
 
std::string ToString () const
 String representation of the class.
 

Private Member Functions

template<class Archive>
void serialize (Archive &ar, const unsigned int)
 

Private Attributes

Dimension fX {}
 x dimension
 
Dimension fY {}
 y dimension
 
Dimension fZ {}
 z dimension
 

Friends

class boost::serialization::access
 Serialization method.
 

Detailed Description

A representation of a geometrical volume of different tracking stations.

Definition at line 25 of file GeoVolume.h.

Constructor & Destructor Documentation

◆ GeoVolume() [1/3]

cbm::algo::GeoVolume::GeoVolume ( )
default

Default constructor.

References GeoVolume(), x, and y.

Referenced by GeoVolume(), GeoVolume(), HasOverlapWith(), and operator+=().

◆ GeoVolume() [2/3]

GeoVolume::GeoVolume ( double xMin,
double xMax,
double yMin,
double yMax,
double zMin,
double zMax )

A constructor from parameters.

Parameters
xMinLower bound in x-direction [cm]
xMaxUpper bound in x-direction [cm]
yMinLower bound in y-direction [cm]
yMaxUpper bound in y-direction [cm]
zMinLower bound in z-direction [cm]
zMaxUpper bound in z-direction [cm]

Definition at line 18 of file GeoVolume.cxx.

References fX, fY, and fZ.

◆ GeoVolume() [3/3]

GeoVolume::GeoVolume ( std::pair< double, double > x,
std::pair< double, double > y,
std::pair< double, double > z )

A constructor from parameters.

Parameters
xA pair of (xMin, xMax) [cm]
yA pair of (yMin, yMax) [cm]
zA pair of (zMin, zMax) [cm]

Definition at line 27 of file GeoVolume.cxx.

References first, GeoVolume(), x, and y.

Member Function Documentation

◆ GetCenterX()

double cbm::algo::GeoVolume::GetCenterX ( ) const
inline

Gets center in x-direction [cm].

Definition at line 88 of file GeoVolume.h.

References fX.

◆ GetCenterY()

double cbm::algo::GeoVolume::GetCenterY ( ) const
inline

Gets center in y-direction [cm].

Definition at line 91 of file GeoVolume.h.

References fY.

◆ GetCenterZ()

double cbm::algo::GeoVolume::GetCenterZ ( ) const
inline

Gets center in z-direction [cm].

Definition at line 94 of file GeoVolume.h.

References fZ.

◆ GetMaxX()

double cbm::algo::GeoVolume::GetMaxX ( ) const
inline

Gets upper bound in x-direction [cm].

Definition at line 97 of file GeoVolume.h.

References fX.

◆ GetMaxY()

double cbm::algo::GeoVolume::GetMaxY ( ) const
inline

Gets upper bound in y-direction [cm].

Definition at line 100 of file GeoVolume.h.

References fY.

◆ GetMaxZ()

double cbm::algo::GeoVolume::GetMaxZ ( ) const
inline

Gets upper bound in z-diretion [cm].

Definition at line 103 of file GeoVolume.h.

References fZ.

◆ GetMinX()

double cbm::algo::GeoVolume::GetMinX ( ) const
inline

Gets lower bound in x-direction [cm].

Definition at line 106 of file GeoVolume.h.

References fX.

◆ GetMinY()

double cbm::algo::GeoVolume::GetMinY ( ) const
inline

Gets lower bound in y-direction [cm].

Definition at line 109 of file GeoVolume.h.

References fY.

◆ GetMinZ()

double cbm::algo::GeoVolume::GetMinZ ( ) const
inline

Gets lower bound in z-diretion [cm].

Definition at line 112 of file GeoVolume.h.

References fZ.

◆ GetSizeX()

double cbm::algo::GeoVolume::GetSizeX ( ) const
inline

Gets size in x-direction [cm].

Definition at line 115 of file GeoVolume.h.

References fX.

◆ GetSizeY()

double cbm::algo::GeoVolume::GetSizeY ( ) const
inline

Gets size in y-direction [cm].

Definition at line 118 of file GeoVolume.h.

References fY.

◆ GetSizeZ()

double cbm::algo::GeoVolume::GetSizeZ ( ) const
inline

Gets size in z-direction [cm].

Definition at line 121 of file GeoVolume.h.

References fZ.

◆ HasOverlapWith()

bool GeoVolume::HasOverlapWith ( const GeoVolume & other) const

Checks, if the volume overlaps with another volume.

Parameters
otherOther volume

Definition at line 44 of file GeoVolume.cxx.

References fX, fY, fZ, and GeoVolume().

◆ IsValid()

bool cbm::algo::GeoVolume::IsValid ( ) const
inline

Checks validity of the volume.

Note
The volume is valid, if for each dimension the lower limit is under the upper limit, and the limits are finite.

Definition at line 85 of file GeoVolume.h.

References fX, fY, and fZ.

◆ operator+=()

GeoVolume & GeoVolume::operator+= ( const GeoVolume & other)

Compound assignment of another volume.

Definition at line 34 of file GeoVolume.cxx.

References fX, fY, fZ, and GeoVolume().

◆ serialize()

template<class Archive>
void cbm::algo::GeoVolume::serialize ( Archive & ar,
const unsigned int  )
inlineprivate

Definition at line 134 of file GeoVolume.h.

References fX, fY, and fZ.

◆ ToString()

std::string GeoVolume::ToString ( ) const

String representation of the class.

Definition at line 51 of file GeoVolume.cxx.

References fX, fY, and fZ.

Friends And Related Symbol Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Serialization method.

Definition at line 132 of file GeoVolume.h.

References boost::serialization::access.

Referenced by boost::serialization::access.

Member Data Documentation

◆ fX

Dimension cbm::algo::GeoVolume::fX {}
private

◆ fY

Dimension cbm::algo::GeoVolume::fY {}
private

◆ fZ

Dimension cbm::algo::GeoVolume::fZ {}
private

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