MucSoftID Class Reference

#include <MucSoftID.h>

List of all members.

Public Member Functions

 MucSoftID (const int part=-1, const int seg=-1, const int gap=-1, const int strip=-1)
 Constructor.
MucSoftIDoperator= (const MucSoftID &orig)
 Assignment constructor.
 MucSoftID (const MucSoftID &orig)
 Copy constructor.
 ~MucSoftID ()
 Destructor.
bool operator== (const MucSoftID &id) const
 Compare whehter two MucSoftID is equal.
int GetPart () const
 Get part number. (0-east cap, 1-barrel, 2-west cap).
int GetSeg () const
 Get segment number. (barrel 0-3, cap 0-7).
int GetGap () const
 Get gap number. (barrel 0-8, cap 0-7).
int GetStrip () const
 Get strip number. (barrel 0-47 for gap0,2,4,6,8, 0-95 for gap1,3,5,7, endcap 0-63).
void SetID (const int part=-1, const int seg=-1, const int gap=-1, const int strip=-1)
 Set the sub-identifier.

Static Public Attributes

static const int m_kPart = 3
 Number of parts in Bes Muc.
static const int m_kSegInPartMax = 8
 Number of segments in a part max.
static const int m_kSegInPart [m_kPart] = {4, 8, 4}
 Number of segments in a part.
static const int m_kGapInSegMax = 9
 Number of gaps in a segment max.
static const int m_kGapInPart [m_kPart] = {8, 9, 8}
 Number of gaps in a segment of part.
static const int m_kStripInGapMax = 96
 Number of strips in a gap max.
static const int m_kStripInGap [m_kPart][m_kGapInSegMax]
 Number of strips in a gap.
static const int m_kSegTotal = MucSoftID::m_kSegInPartMax * MucSoftID::m_kPart
 Number of segments total in the Bes MUC.
static const int m_kGapTotal = MucSoftID::m_kGapInSegMax * MucSoftID::m_kSegTotal
 Number of gaps total in the Bes MUC.
static const int m_kStripTotal = MucSoftID::m_kStripInGapMax * MucSoftID::m_kGapTotal
 Number of strips total in the Bes MUC.
static const int m_kHitInGapMax = MucSoftID::m_kStripInGapMax
 Maximum number of hits in a gap.
static const int m_kHitTotalMax = MucSoftID::m_kStripTotal
 Maximum number of hits total in the Bes MUC.

Private Attributes

int m_Part
int m_Seg
int m_Gap
int m_Strip


Detailed Description

Class MucSoftID contains the "software" representation of a MUC channel address.

Indexing a Muc readout channel (in the "software" scheme) requires 4 numbers: {enumerate} the part number, m_Part (0-east cap, 1-barrel, 2-west cap) the seg number in a part, m_Seg (barrel 0-3, cap 0-7) the gap number in a segment, m_Gap (barrel 0-8, cap 0-7) the strip number in a gap, m_Strip (barrel gap 0,2,4,6,8 0-47 \ barrel gap 1,3,5,7 0-95 \ endcap 0-63) {enumerate}

Author:
Zhengyun You {mailto:youzy@pku.edu.cn}

Definition at line 31 of file MucSoftID.h.


Constructor & Destructor Documentation

MucSoftID::MucSoftID ( const int  part = -1,
const int  seg = -1,
const int  gap = -1,
const int  strip = -1 
)

Constructor.

Definition at line 58 of file MucSoftID.cxx.

00062   : m_Part(part),
00063     m_Seg(seg),
00064     m_Gap(gap),
00065     m_Strip(strip)
00066 {
00067   // Constructor.
00068 }

MucSoftID::MucSoftID ( const MucSoftID orig  ) 

Copy constructor.

Definition at line 83 of file MucSoftID.cxx.

00084   : m_Part(orig.m_Part),
00085     m_Seg(orig.m_Seg),
00086     m_Gap(orig.m_Gap),
00087     m_Strip(orig.m_Strip)
00088 {
00089   // Copy constructor.
00090 }

MucSoftID::~MucSoftID (  )  [inline]

Destructor.

Definition at line 78 of file MucSoftID.h.

00079     { };


Member Function Documentation

int MucSoftID::GetGap (  )  const [inline]

Get gap number. (barrel 0-8, cap 0-7).

Definition at line 91 of file MucSoftID.h.

References m_Gap.

Referenced by operator==().

00091 { return m_Gap; }

int MucSoftID::GetPart (  )  const [inline]

Get part number. (0-east cap, 1-barrel, 2-west cap).

Definition at line 85 of file MucSoftID.h.

References m_Part.

Referenced by operator==().

00085 { return m_Part; }

int MucSoftID::GetSeg (  )  const [inline]

Get segment number. (barrel 0-3, cap 0-7).

Definition at line 88 of file MucSoftID.h.

References m_Seg.

Referenced by operator==().

00088 { return m_Seg; }

int MucSoftID::GetStrip (  )  const [inline]

Get strip number. (barrel 0-47 for gap0,2,4,6,8, 0-95 for gap1,3,5,7, endcap 0-63).

Definition at line 94 of file MucSoftID.h.

References m_Strip.

Referenced by operator==().

00094 { return m_Strip; }

MucSoftID & MucSoftID::operator= ( const MucSoftID orig  ) 

Assignment constructor.

Definition at line 71 of file MucSoftID.cxx.

References m_Gap, m_Part, m_Seg, and m_Strip.

00072 {
00073   // Assignment operator.
00074   if (this != &orig) {             // Watch out for self-assignment!
00075     m_Part  = orig.m_Part;
00076     m_Seg   = orig.m_Seg;
00077     m_Gap   = orig.m_Gap;
00078     m_Strip = orig.m_Strip;
00079   }
00080   return *this;
00081 }

bool MucSoftID::operator== ( const MucSoftID id  )  const

Compare whehter two MucSoftID is equal.

Definition at line 93 of file MucSoftID.cxx.

References GetGap(), GetPart(), GetSeg(), GetStrip(), m_Gap, m_Part, m_Seg, and m_Strip.

00094 {
00095   if( m_Part     == id.GetPart() 
00096       && m_Seg   == id.GetSeg() 
00097       && m_Gap   == id.GetGap() 
00098       && m_Strip == id.GetStrip() ) {
00099     return true;
00100   }
00101   else {
00102     return false;
00103   }
00104 }

void MucSoftID::SetID ( const int  part = -1,
const int  seg = -1,
const int  gap = -1,
const int  strip = -1 
)

Set the sub-identifier.

Definition at line 107 of file MucSoftID.cxx.

References m_Gap, m_Part, m_Seg, and m_Strip.

00111 {
00112   // Set the sub-identifier, m_GapID and m_StripID.
00113   m_Part  = part;
00114   m_Seg   = seg;
00115   m_Gap   = gap;
00116   m_Strip = strip;
00117 }


Member Data Documentation

int MucSoftID::m_Gap [private]

Definition at line 105 of file MucSoftID.h.

Referenced by GetGap(), operator=(), operator==(), and SetID().

const int MucSoftID::m_kGapInPart = {8, 9, 8} [static]

Number of gaps in a segment of part.

Definition at line 46 of file MucSoftID.h.

const int MucSoftID::m_kGapInSegMax = 9 [static]

Number of gaps in a segment max.

Definition at line 44 of file MucSoftID.h.

Referenced by GapHash(), and StripHash().

const int MucSoftID::m_kGapTotal = MucSoftID::m_kGapInSegMax * MucSoftID::m_kSegTotal [static]

Number of gaps total in the Bes MUC.

Definition at line 56 of file MucSoftID.h.

const int MucSoftID::m_kHitInGapMax = MucSoftID::m_kStripInGapMax [static]

Maximum number of hits in a gap.

Definition at line 61 of file MucSoftID.h.

const int MucSoftID::m_kHitTotalMax = MucSoftID::m_kStripTotal [static]

Maximum number of hits total in the Bes MUC.

Definition at line 63 of file MucSoftID.h.

const int MucSoftID::m_kPart = 3 [static]

Number of parts in Bes Muc.

Definition at line 36 of file MucSoftID.h.

const int MucSoftID::m_kSegInPart = {4, 8, 4} [static]

Number of segments in a part.

Definition at line 41 of file MucSoftID.h.

const int MucSoftID::m_kSegInPartMax = 8 [static]

Number of segments in a part max.

Definition at line 39 of file MucSoftID.h.

Referenced by GapHash(), and StripHash().

const int MucSoftID::m_kSegTotal = MucSoftID::m_kSegInPartMax * MucSoftID::m_kPart [static]

Number of segments total in the Bes MUC.

Definition at line 54 of file MucSoftID.h.

const int MucSoftID::m_kStripInGap [static]

Initial value:

 { {64, 64, 64, 64, 64, 64, 64, 64},
                                                                            {48, 96, 48, 96, 48, 96, 48, 96, 48},
                                                                            {64, 64, 64, 64, 64, 64, 64, 64} }
Number of strips in a gap.

Definition at line 51 of file MucSoftID.h.

const int MucSoftID::m_kStripInGapMax = 96 [static]

Number of strips in a gap max.

Definition at line 49 of file MucSoftID.h.

Referenced by StripHash().

const int MucSoftID::m_kStripTotal = MucSoftID::m_kStripInGapMax * MucSoftID::m_kGapTotal [static]

Number of strips total in the Bes MUC.

Definition at line 58 of file MucSoftID.h.

int MucSoftID::m_Part [private]

Definition at line 103 of file MucSoftID.h.

Referenced by GetPart(), operator=(), operator==(), and SetID().

int MucSoftID::m_Seg [private]

Definition at line 104 of file MucSoftID.h.

Referenced by GetSeg(), operator=(), operator==(), and SetID().

int MucSoftID::m_Strip [private]

Definition at line 106 of file MucSoftID.h.

Referenced by GetStrip(), operator=(), operator==(), and SetID().


Generated on Tue Nov 29 23:20:31 2016 for BOSS_7.0.2 by  doxygen 1.4.7