ATLAS Offline Software
Loading...
Searching...
No Matches
GeoStraightAccSection Class Reference

Record of All Electrode Straight Pieces. More...

#include <GeoStraightAccSection.h>

Collaboration diagram for GeoStraightAccSection:

Public Member Functions

 GeoStraightAccSection ()
 ~GeoStraightAccSection ()
const double & XCent (int stackid, int cellid) const
const double & YCent (int stackid, int cellid) const
const double & Cosu (int stackid, int cellid) const
const double & Sinu (int stackid, int cellid) const
const double & HalfLength (int stackid, int cellid) const
double & XCent (int stackid, int cellid)
double & YCent (int stackid, int cellid)
double & Cosu (int stackid, int cellid)
double & Sinu (int stackid, int cellid)
double & HalfLength (int stackid, int cellid)
void setHalfLength (int stackid, double halfLength)
void setTransform (int stackid, GeoXF::TRANSFUNCTION TXE)

Private Member Functions

 GeoStraightAccSection (const GeoStraightAccSection &)
GeoStraightAccSectionoperator= (const GeoStraightAccSection &)

Private Attributes

std::unique_ptr< Clockwork > m_c

Detailed Description

Record of All Electrode Straight Pieces.

This class records the position and angles of all of the electrode straight sections. Initialization is somewhat special. After instantiation, one must set the position, angle, etc using one of two types of modifiers.
The first type just records all of the values, so you are in fact filling an array. The second type uses transfunctions, so you are in fact providing the recipe to fill that same array, but the array is not filled (or even allocated) till later

Definition at line 24 of file GeoStraightAccSection.h.

Constructor & Destructor Documentation

◆ GeoStraightAccSection() [1/2]

GeoStraightAccSection::GeoStraightAccSection ( )

Definition at line 65 of file GeoStraightAccSection.cxx.

66 : m_c(std::make_unique<Clockwork>())
67{
68}
std::unique_ptr< Clockwork > m_c

◆ ~GeoStraightAccSection()

GeoStraightAccSection::~GeoStraightAccSection ( )
default

◆ GeoStraightAccSection() [2/2]

GeoStraightAccSection::GeoStraightAccSection ( const GeoStraightAccSection & )
private

Member Function Documentation

◆ Cosu() [1/2]

double & GeoStraightAccSection::Cosu ( int stackid,
int cellid )

Definition at line 42 of file GeoStraightAccSection.cxx.

43{
44 return m_c->getWritableFastCache().cosu[stackid][cellid];
45}

◆ Cosu() [2/2]

const double & GeoStraightAccSection::Cosu ( int stackid,
int cellid ) const
inline

◆ HalfLength() [1/2]

double & GeoStraightAccSection::HalfLength ( int stackid,
int cellid )

Definition at line 50 of file GeoStraightAccSection.cxx.

51{
52 return m_c->getWritableFastCache().halfLength[stackid][cellid];
53}

◆ HalfLength() [2/2]

const double & GeoStraightAccSection::HalfLength ( int stackid,
int cellid ) const
inline

◆ operator=()

GeoStraightAccSection & GeoStraightAccSection::operator= ( const GeoStraightAccSection & )
private

◆ setHalfLength()

void GeoStraightAccSection::setHalfLength ( int stackid,
double halfLength )

Definition at line 56 of file GeoStraightAccSection.cxx.

56 {
57 m_c->getWritableSmallCache().halfLength[stackid]=halfLength;
58}

◆ setTransform()

void GeoStraightAccSection::setTransform ( int stackid,
GeoXF::TRANSFUNCTION TXE )

Definition at line 60 of file GeoStraightAccSection.cxx.

60 {
61 m_c->getWritableSmallCache().transfunction[stackid] =
62 std::unique_ptr<GeoXF::Function> (f.clone());
63}

◆ Sinu() [1/2]

double & GeoStraightAccSection::Sinu ( int stackid,
int cellid )

Definition at line 46 of file GeoStraightAccSection.cxx.

47{
48 return m_c->getWritableFastCache().sinu[stackid][cellid];
49}

◆ Sinu() [2/2]

const double & GeoStraightAccSection::Sinu ( int stackid,
int cellid ) const
inline

◆ XCent() [1/2]

double & GeoStraightAccSection::XCent ( int stackid,
int cellid )

Definition at line 34 of file GeoStraightAccSection.cxx.

35{
36 return m_c->getWritableFastCache().xcent[stackid][cellid];
37}

◆ XCent() [2/2]

const double & GeoStraightAccSection::XCent ( int stackid,
int cellid ) const
inline

◆ YCent() [1/2]

double & GeoStraightAccSection::YCent ( int stackid,
int cellid )

Definition at line 38 of file GeoStraightAccSection.cxx.

39{
40 return m_c->getWritableFastCache().ycent[stackid][cellid];
41}

◆ YCent() [2/2]

const double & GeoStraightAccSection::YCent ( int stackid,
int cellid ) const
inline

Member Data Documentation

◆ m_c

std::unique_ptr<Clockwork> GeoStraightAccSection::m_c
private

Definition at line 59 of file GeoStraightAccSection.h.


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