Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DFCALGeometry Class Reference

#include <DFCALGeometry.h>

+ Inheritance diagram for DFCALGeometry:

Public Types

enum  { kBlocksWide = 59 }
 
enum  { kBlocksTall = 59 }
 
enum  { kMaxChannels = kBlocksWide * kBlocksTall }
 
enum  { kMidBlock = ( kBlocksWide - 1 ) / 2 }
 
enum  { kBeamHoleSize = 3 }
 

Public Member Functions

 JOBJECT_PUBLIC (DFCALGeometry)
 
 DFCALGeometry ()
 
 ~DFCALGeometry ()
 
bool isBlockActive (int row, int column) const
 
int numActiveBlocks () const
 
DVector2 positionOnFace (int row, int column) const
 
DVector2 positionOnFace (int channel) const
 
int channel (int row, int column) const
 
int row (int channel) const
 
int column (int channel) const
 
int row (float y) const
 
int column (float x) const
 
void toStrings (vector< pair< string, string > > &items) const
 

Static Public Member Functions

static double blockSize ()
 
static double radius ()
 
static double blockLength ()
 

Private Attributes

bool m_activeBlock [kBlocksTall][kBlocksWide]
 
DVector2 m_positionOnFace [kBlocksTall][kBlocksWide]
 
int m_channelNumber [kBlocksTall][kBlocksWide]
 
int m_row [kMaxChannels]
 
int m_column [kMaxChannels]
 
int m_numActiveBlocks
 

Detailed Description

Definition at line 18 of file DFCALGeometry.h.

Member Enumeration Documentation

anonymous enum
Enumerator
kBlocksWide 

Definition at line 42 of file DFCALGeometry.h.

anonymous enum
Enumerator
kBlocksTall 

Definition at line 43 of file DFCALGeometry.h.

anonymous enum
Enumerator
kMaxChannels 

Definition at line 44 of file DFCALGeometry.h.

anonymous enum
Enumerator
kMidBlock 

Definition at line 45 of file DFCALGeometry.h.

anonymous enum
Enumerator
kBeamHoleSize 

Definition at line 46 of file DFCALGeometry.h.

Constructor & Destructor Documentation

DFCALGeometry::~DFCALGeometry ( )
inline

Definition at line 35 of file DFCALGeometry.h.

Member Function Documentation

static double DFCALGeometry::blockLength ( )
inlinestatic
static double DFCALGeometry::blockSize ( )
inlinestatic
int DFCALGeometry::column ( float  x) const

Definition at line 80 of file DFCALGeometry.cc.

References blockSize(), and kMidBlock.

DFCALGeometry::JOBJECT_PUBLIC ( DFCALGeometry  )
int DFCALGeometry::numActiveBlocks ( ) const
inline
DVector2 DFCALGeometry::positionOnFace ( int  channel) const

Definition at line 95 of file DFCALGeometry.cc.

References m_column, m_numActiveBlocks, m_row, and positionOnFace().

static double DFCALGeometry::radius ( )
inlinestatic

Definition at line 49 of file DFCALGeometry.h.

References k_m.

Referenced by DFCALGeometry().

int DFCALGeometry::row ( float  y) const

Definition at line 74 of file DFCALGeometry.cc.

References blockSize(), and kMidBlock.

void DFCALGeometry::toStrings ( vector< pair< string, string > > &  items) const
inline

Definition at line 71 of file DFCALGeometry.h.

Member Data Documentation

bool DFCALGeometry::m_activeBlock[kBlocksTall][kBlocksWide]
private

Definition at line 80 of file DFCALGeometry.h.

Referenced by DFCALGeometry(), and isBlockActive().

int DFCALGeometry::m_channelNumber[kBlocksTall][kBlocksWide]
private

Definition at line 83 of file DFCALGeometry.h.

Referenced by channel(), and DFCALGeometry().

int DFCALGeometry::m_column[kMaxChannels]
private

Definition at line 85 of file DFCALGeometry.h.

Referenced by DFCALGeometry(), and positionOnFace().

int DFCALGeometry::m_numActiveBlocks
private

Definition at line 87 of file DFCALGeometry.h.

Referenced by DFCALGeometry(), and positionOnFace().

DVector2 DFCALGeometry::m_positionOnFace[kBlocksTall][kBlocksWide]
private

Definition at line 81 of file DFCALGeometry.h.

Referenced by DFCALGeometry(), and positionOnFace().

int DFCALGeometry::m_row[kMaxChannels]
private

Definition at line 84 of file DFCALGeometry.h.

Referenced by DFCALGeometry(), and positionOnFace().


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