Main Page   Class Hierarchy   Compound List   File List   Compound Members  

AcdId Class Reference

encapsulate the id for an ACD tile. More...

#include <AcdId.h>

Inheritance diagram for AcdId::

List of all members.

Public Methods

 AcdId ()
 AcdId (const AcdId &id)
 AcdId (short l, short f, short r, short c)
 AcdId (UInt_t i, short base=10, short used=1)
virtual ~AcdId ()
UInt_t getId (short base=10) const
 retrieve the id, either in base 2, or in base 10, denoting the matrix number.

void setId (UInt_t newVal, short used=1, short base=10)
 set the id, specifying whether this is in base 10 or base 2.

bool isTop () const
 is this a top tile?

bool isSide () const
 is this a side tile?

short getLayer () const
 which layer is this tile in (1st(0 - closer to center of GLAST) or 2nd (1)).

short getFace () const
 which face number?

short getRow () const
 which row number?

short getColumn () const
 which column?

bool wasConnected () const
 was this PMT actually connected to a tile?

void setConnected (Char_t c)
 set the bit to denote whether this PMT was connected 0 == not connected,1 is connected.

UShort_t getReadoutIndex () const
 retrieve the readout index.

void setReadoutIndex (UShort_t i)
 set the readout index for this tile.

void base10ToAcdId (UInt_t val, short &lay, short &face, short &row, short &col)
 convert a value in base 10, to the appropriate layer, face, row, column.


Static Public Attributes

UShort_t badId

Private Types

enum  {
  _layermask = 0x1800, _facemask = 0x0700, _rowmask = 0x00F0, _colmask = 0x000F,
  layerShift = 11
}

Private Methods

void setLayer (unsigned int val)
 set layer.

void setFace (unsigned int f)
 set the face number.

void setRow (unsigned int r)
 set the row.

void setColumn (unsigned int c)
 set the column.

short int word (short i, const UInt_t &v) const
void set_word (short i, UInt_t &v, const UInt_t &s)

Private Attributes

UInt_t m_id
 Proper Ritz index number for this tile.

Char_t m_used
 Denotes whether the PMT was truly connected to a tile.

UShort_t m_readoutIndex
 Readout order - starting from 0.


Detailed Description

encapsulate the id for an ACD tile.

 ACD tile numbering
 Layer 0 - 3, where 0 corresponds to the inner layer
 Face 0 - 4 
          Face 0 == top  (hat)
          Face 1 == -X side 
          Face 2 == -Y side
          Face 3 == +X side
          Face 4 == +Y side
 Row 0 - 9
          On Face 0 (top) rows are numbering along +x (or +y) axis
          On the sides, the rows are numbered from the front of the instrument (closest to the top)

 Column 0 - 9
          On the sides, columns are numbered along +x (or +y) axis

 One could imagine that an ACD id could be represented by 13 bits.
 
 __  __       __ __ __     __ __ __ __      __ __ __ __
 LAYER       FACE           ROW            COLUMN
 where the layer bits are the most significant bits

Some routines in this class have a default parameter denoted as "base" This refers to those instances where an input parameter could be in base 10 or base 2. In all cases, the default is base 10. If a user desires to use base 2, the parameter called "base" should be supplied and set equal to 2.


The documentation for this class was generated from the following files:
Generated on Wed Oct 31 11:20:18 2001 for digiRootData by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001