DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
Public Member Functions | List of all members
dd4hep::PolarGridRPhi2 Class Reference

Implementation class for the grid XZ segmentation. More...

#include <PolarGridRPhi2.h>

Inheritance diagram for dd4hep::PolarGridRPhi2:
dd4hep::Handle< T >

Public Member Functions

 PolarGridRPhi2 ()=default
 Default constructor. More...
 
 PolarGridRPhi2 (const PolarGridRPhi2 &e)=default
 Copy constructor. More...
 
 PolarGridRPhi2 (const Segmentation &e)
 Copy Constructor from segmentation base object. More...
 
 PolarGridRPhi2 (const Handle< Object > &e)
 Copy constructor from handle. More...
 
template<typename Q >
 PolarGridRPhi2 (const Handle< Q > &e)
 Copy constructor from other polymorph/equivalent handle. More...
 
PolarGridRPhi2operator= (const PolarGridRPhi2 &seg)=default
 Assignment operator. More...
 
bool operator== (const PolarGridRPhi2 &seg) const
 Equality operator. More...
 
Position position (const CellID &cellID) const
 determine the position based on the cell ID More...
 
CellID cellID (const Position &local, const Position &global, const VolumeID &volID) const
 determine the cell ID based on the position More...
 
double gridSizeR () const
 access the grid size in R More...
 
double gridSizePhi () const
 access the grid size in Phi More...
 
double offsetR () const
 access the coordinate offset in R More...
 
double offsetPhi () const
 access the coordinate offset in Phi More...
 
void setOffsetR (double offset) const
 set the coordinate offset in R More...
 
void setOffsetPhi (double offset) const
 set the coordinate offset in Phi More...
 
std::vector< double > gridRValues () const
 access the grid size in R More...
 
std::vector< double > gridPhiValues () const
 access the grid size in Phi More...
 
void setGridSizeR (double cellSize, int rID) const
 set the grid Boundaries in R More...
 
void setGridSizePhi (double cellSize, int phiID) const
 set the grid size in Phi More...
 
void setGridRValues (std::vector< double > const &rValues) const
 set the grid boundaries for R More...
 
void setGridPhiValues (std::vector< double > const &phiValues) const
 set the grid size in Phi for each bin in R More...
 
const std::string & fieldNameR () const
 access the field name used for R More...
 
const std::string & fieldNamePhi () const
 access the field name used for Phi More...
 
std::vector< double > cellDimensions (const CellID &cellID) const
 Returns a vector<double> of the cellDimensions of the given cell ID in natural order of dimensions, e.g., dx/dy/dz, or dr/r*dPhi. More...
 
- Public Member Functions inherited from dd4hep::Handle< T >
 Handle ()=default
 Default constructor. More...
 
 Handle (Handle< T > &&element)=default
 Copy constructor. More...
 
 Handle (const Handle< T > &element)=default
 Copy constructor. More...
 
 Handle (T *element)
 Initializing constructor from pointer. More...
 
template<typename Q >
 Handle (Q *element)
 Initializing constructor from unrelated pointer with type checking. More...
 
template<typename Q >
 Handle (const Handle< Q > &element)
 Initializing constructor from unrelated handle with type checking. More...
 
Handle< T > & operator= (Handle< T > &&element)=default
 Assignment move operator. More...
 
Handle< T > & operator= (const Handle< T > &element)=default
 Assignment copy operator. More...
 
bool operator== (const Handle< T > &element) const
 Boolean operator == used for RB tree insertions. More...
 
bool operator< (const Handle< T > &element) const
 Boolean operator < used for RB tree insertions. More...
 
bool operator> (const Handle< T > &element) const
 Boolean operator > used for RB tree insertions. More...
 
bool isValid () const
 Check the validity of the object held by the handle. More...
 
bool operator! () const
 Check the validity of the object held by the handle. More...
 
Handle< T > & clear ()
 Release the object held by the handle. More...
 
T * operator-> () const
 Access the held object using the -> operator. More...
 
 operator T& () const
 Automatic type conversion to an object references. More...
 
T & operator* () const
 Access the held object using the * operator. More...
 
T * ptr () const
 Access to the held object. More...
 
template<typename Q >
Q * _ptr () const
 Access to an unrelated object type. More...
 
template<typename Q >
Q * data () const
 Access to an unrelated object type. More...
 
template<typename Q >
Q & object () const
 Access to an unrelated object type. More...
 
T * access () const
 Checked object access. Throws invalid handle runtime exception if invalid handle. More...
 
const char * name () const
 Access the object name (or "" if not supported by the object) More...
 
void assign (Object *n, const std::string &nam, const std::string &title)
 Assign a new named object. Note: object references must be managed by the user. More...
 
void destroy ()
 Destroy the underlying object (be careful here: things are not reference counted)! More...
 
void assign (_Segmentation *s, const std::string &n, const std::string &)
 
const char * name () const
 
const char * name () const
 
void assign (NamedObject *p, const std::string &n, const std::string &t)
 

Additional Inherited Members

- Public Types inherited from dd4hep::Handle< T >
typedef T Object
 Extern accessible definition of the contained element type. More...
 
typedef Handle< T > Base
 Self type: used by sub-classes. More...
 
- Static Public Member Functions inherited from dd4hep::Handle< T >
static void bad_assignment (const std::type_info &from, const std::type_info &to)
 Helper routine called when unrelated types are assigned. More...
 
- Public Attributes inherited from dd4hep::Handle< T >
T * m_element {nullptr}
 Single and only data member: Reference to the actual element. More...
 

Detailed Description

Implementation class for the grid XZ segmentation.

Concrete user handle to serve specific needs of client code which requires access to the base functionality not served by the super-class Segmentation.

Note: We only check the validity of the underlying handle. If for whatever reason the implementation object is not valid This is not checked. In principle this CANNOT happen unless some brain-dead has fiddled with the handled object directly.....

Note: The handle base corresponding to this object in for conveniance reasons instantiated in dd4hep/src/Segmentations.cpp.

Author
M.Frank
Version
1.0

Definition at line 51 of file PolarGridRPhi2.h.

Constructor & Destructor Documentation

◆ PolarGridRPhi2() [1/5]

dd4hep::PolarGridRPhi2::PolarGridRPhi2 ( )
default

Default constructor.

◆ PolarGridRPhi2() [2/5]

dd4hep::PolarGridRPhi2::PolarGridRPhi2 ( const PolarGridRPhi2 e)
default

Copy constructor.

◆ PolarGridRPhi2() [3/5]

dd4hep::PolarGridRPhi2::PolarGridRPhi2 ( const Segmentation e)
inline

Copy Constructor from segmentation base object.

Definition at line 58 of file PolarGridRPhi2.h.

◆ PolarGridRPhi2() [4/5]

dd4hep::PolarGridRPhi2::PolarGridRPhi2 ( const Handle< Object > &  e)
inline

Copy constructor from handle.

Definition at line 60 of file PolarGridRPhi2.h.

◆ PolarGridRPhi2() [5/5]

template<typename Q >
dd4hep::PolarGridRPhi2::PolarGridRPhi2 ( const Handle< Q > &  e)
inline

Copy constructor from other polymorph/equivalent handle.

Definition at line 62 of file PolarGridRPhi2.h.

Member Function Documentation

◆ cellDimensions()

std::vector< double > PolarGridRPhi2::cellDimensions ( const CellID id) const

Returns a vector<double> of the cellDimensions of the given cell ID in natural order of dimensions, e.g., dx/dy/dz, or dr/r*dPhi.

Returns a vector of the cellDimensions of the given cell ID

Parameters
cellIDis ignored as all cells have the same dimension
Returns
std::vector<double> size 2:
  1. size in x
  2. size in z

Returns a vector of the cellDimensions of the given cell ID

Parameters
cellIDis ignored as all cells have the same dimension
Returns
vector<double> size 2:
  1. size in x
  2. size in z

Definition at line 103 of file PolarGridRPhi2.cpp.

◆ cellID()

dd4hep::CellID PolarGridRPhi2::cellID ( const Position local,
const Position global,
const VolumeID volID 
) const

determine the cell ID based on the position

Definition at line 28 of file PolarGridRPhi2.cpp.

◆ fieldNamePhi()

const std::string & PolarGridRPhi2::fieldNamePhi ( ) const

access the field name used for Phi

Definition at line 90 of file PolarGridRPhi2.cpp.

◆ fieldNameR()

const std::string & PolarGridRPhi2::fieldNameR ( ) const

access the field name used for R

Definition at line 85 of file PolarGridRPhi2.cpp.

◆ gridPhiValues()

std::vector< double > PolarGridRPhi2::gridPhiValues ( ) const

access the grid size in Phi

Definition at line 41 of file PolarGridRPhi2.cpp.

◆ gridRValues()

std::vector< double > PolarGridRPhi2::gridRValues ( ) const

access the grid size in R

Definition at line 36 of file PolarGridRPhi2.cpp.

◆ gridSizePhi()

double dd4hep::PolarGridRPhi2::gridSizePhi ( ) const

access the grid size in Phi

◆ gridSizeR()

double dd4hep::PolarGridRPhi2::gridSizeR ( ) const

access the grid size in R

◆ offsetPhi()

double PolarGridRPhi2::offsetPhi ( ) const

access the coordinate offset in Phi

Definition at line 70 of file PolarGridRPhi2.cpp.

◆ offsetR()

double PolarGridRPhi2::offsetR ( ) const

access the coordinate offset in R

Definition at line 65 of file PolarGridRPhi2.cpp.

◆ operator=()

PolarGridRPhi2& dd4hep::PolarGridRPhi2::operator= ( const PolarGridRPhi2 seg)
default

Assignment operator.

◆ operator==()

bool dd4hep::PolarGridRPhi2::operator== ( const PolarGridRPhi2 seg) const
inline

Equality operator.

Definition at line 66 of file PolarGridRPhi2.h.

◆ position()

Position PolarGridRPhi2::position ( const CellID cellID) const

determine the position based on the cell ID

Definition at line 23 of file PolarGridRPhi2.cpp.

◆ setGridPhiValues()

void PolarGridRPhi2::setGridPhiValues ( std::vector< double > const &  phiValues) const

set the grid size in Phi for each bin in R

Parameters
phiValuesThe size in phi for each bin in R, this vector is one smaller than the vector for PolarGridRPhi2::setGridRValues

Definition at line 60 of file PolarGridRPhi2.cpp.

◆ setGridRValues()

void PolarGridRPhi2::setGridRValues ( std::vector< double > const &  rValues) const

set the grid boundaries for R

Parameters
rValuesThe boundaries of the segments in radius, the first value is the lower boundary of the first bin, the highest value is the upper boundary of the last bin

Definition at line 55 of file PolarGridRPhi2.cpp.

◆ setGridSizePhi()

void PolarGridRPhi2::setGridSizePhi ( double  cellSize,
int  phiID 
) const

set the grid size in Phi

Definition at line 50 of file PolarGridRPhi2.cpp.

◆ setGridSizeR()

void PolarGridRPhi2::setGridSizeR ( double  cellSize,
int  rID 
) const

set the grid Boundaries in R

Definition at line 45 of file PolarGridRPhi2.cpp.

◆ setOffsetPhi()

void PolarGridRPhi2::setOffsetPhi ( double  offset) const

set the coordinate offset in Phi

Definition at line 80 of file PolarGridRPhi2.cpp.

◆ setOffsetR()

void PolarGridRPhi2::setOffsetR ( double  offset) const

set the coordinate offset in R

Definition at line 75 of file PolarGridRPhi2.cpp.


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