List of all members | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes
utl::BasicVector< HepVector >::CCylindrical Class Reference

Class to have a type for indicating cylindrical coordinate components. More...

#include <BasicVector.h>

Inheritance diagram for utl::BasicVector< HepVector >::CCylindrical:
Inheritance graph
[legend]

Public Types

enum  Kind { eCartesian = 0, eCylindrical = 1, eSpherical = 2 }
 Coordinate type integral typification. More...
 
typedef
utl::ConsecutiveEnumFactory
< Kind, eSpherical, fgKindTags,
utl::ThrowPolicy< Kind,
CoordinateSystemException > > 
KindCreator
 Convenience typedef for creation of Kind enumerators. More...
 

Public Member Functions

virtual double X (double rho, double phi, double z) const override
 
virtual double Y (double rho, double phi, double z) const override
 
virtual double Z (double rho, double phi, double z) const override
 

Static Public Member Functions

static const CoordinateTypeCreate (const Kind k)
 Factory method via enumeration. More...
 

Static Public Attributes

static const char *const fgKindTags [3] = { "cartesian", "cylindrical", "spherical" }
 

Detailed Description

template<class HepVector>
class utl::BasicVector< HepVector >::CCylindrical

Class to have a type for indicating cylindrical coordinate components.

The arguments are in the order rho, phi, z.

Definition at line 127 of file BasicVector.h.

Member Typedef Documentation

Convenience typedef for creation of Kind enumerators.

Definition at line 79 of file BasicVector.h.

Member Enumeration Documentation

template<class HepVector>
enum utl::BasicVector::CoordinateType::Kind
inherited

Coordinate type integral typification.

Alternative typification via integral values for ease of streaming. Note that the values are explicitly defined with the integral value to be used in XML, binary files or database.

Enumerator
eCartesian 
eCylindrical 
eSpherical 

Definition at line 62 of file BasicVector.h.

Member Function Documentation

template<class HepVector>
static const CoordinateType& utl::BasicVector< HepVector >::CoordinateType::Create ( const Kind  k)
inlinestaticinherited
template<class HepVector >
double utl::BasicVector< HepVector >::CCylindrical::X ( double  rho,
double  phi,
double  z 
) const
overridevirtual

Implements utl::BasicVector< HepVector >::CoordinateType.

Definition at line 34 of file BasicVector.cc.

template<class HepVector >
double utl::BasicVector< HepVector >::CCylindrical::Y ( double  rho,
double  phi,
double  z 
) const
overridevirtual

Implements utl::BasicVector< HepVector >::CoordinateType.

Definition at line 45 of file BasicVector.cc.

template<class HepVector >
double utl::BasicVector< HepVector >::CCylindrical::Z ( double  rho,
double  phi,
double  z 
) const
overridevirtual

Implements utl::BasicVector< HepVector >::CoordinateType.

Definition at line 56 of file BasicVector.cc.

Member Data Documentation

template<class HepVector>
const char *const utl::BasicVector< HepVector >::CoordinateType::fgKindTags = { "cartesian", "cylindrical", "spherical" }
staticinherited

Coordinate type string typification Alternative typification via strings for ease of streaming and clarity.

Definition at line 71 of file BasicVector.h.


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

, generated on Tue Sep 26 2023.