CMS 3D CMS Logo

Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes

SiStripFedKey Class Reference

A container class for generic run and event-related info, information required by the commissioning analyses (such as hardware parameters), event quality flags, error conditions, etc... More...

#include <SiStripFedKey.h>

Inheritance diagram for SiStripFedKey:
SiStripKey

List of all members.

Public Member Functions

const uint16_t & feChan () const
const uint16_t & fedApv () const
uint16_t fedChannel () const
const uint16_t & fedId () const
const uint16_t & feUnit () const
bool isConsistent (const SiStripKey &) const
bool isEqual (const SiStripKey &) const
bool isInvalid (const sistrip::Granularity &) const
bool isInvalid () const
bool isValid (const sistrip::Granularity &) const
bool isValid () const
virtual void print (std::stringstream &ss) const
 SiStripFedKey (const SiStripFedKey &)
 SiStripFedKey (const uint16_t &fed_id, const uint16_t &fe_unit=0, const uint16_t &fe_chan=0, const uint16_t &fed_apv=0)
 SiStripFedKey (const std::string &directory_path)
 SiStripFedKey (const uint32_t &fed_key)
 SiStripFedKey ()
 SiStripFedKey (const SiStripKey &)
virtual void terse (std::stringstream &ss) const

Static Public Member Functions

static uint16_t feChan (const uint16_t &fed_ch)
static uint16_t fedCh (const uint16_t &fe_unit, const uint16_t &fe_chan)
static uint32_t fedIndex (const uint16_t &fed_id, const uint16_t &fed_ch)
static uint16_t feUnit (const uint16_t &fed_ch)

Private Member Functions

void initFromKey ()
void initFromPath ()
void initFromValue ()
void initGranularity ()

Private Attributes

uint16_t feChan_
uint16_t fedApv_
uint16_t fedId_
uint16_t feUnit_

Static Private Attributes

static const uint16_t feChanMask_ = 0x00F
static const uint16_t feChanOffset_ = 2
static const uint16_t fedApvMask_ = 0x003
static const uint16_t fedApvOffset_ = 0
static const uint16_t fedCrateMask_ = 0x03F
static const uint16_t fedCrateOffset_ = 24
static const uint16_t fedIdMask_ = 0x1FF
static const uint16_t fedIdOffset_ = 10
static const uint16_t fedSlotMask_ = 0x01F
static const uint16_t fedSlotOffset_ = 19
static const uint16_t feUnitMask_ = 0x00F
static const uint16_t feUnitOffset_ = 6

Detailed Description

A container class for generic run and event-related info, information required by the commissioning analyses (such as hardware parameters), event quality flags, error conditions, etc...

Utility class that identifies a position within the strip tracker readout structure, down to the level of an APV25 chip.

Author:
R.Bainbridge
R.Bainbridge

The class allows to encode the position within a 32-bit "key" and, conversely, unpack a 32-bit key to provide the position.

The class provides the following member data:

Member data (integer in type only) with values of 0xFFFF signifies "invalid" (ie, FedId = 0xFFFF means "invalid FED id"). Data with null values signifies "all" (ie, FedId = 0 means "all FEDs").

The class generates a "directory path" string according to the member data. This can be used to organise histograms / other data types when using DQM / root. Conversely, the member data can also be built using the directory path when provided as a constructor argument.

The class also provides the "granularity" to which the FED key is unambiguous (ie, not "invalid" or "null") in defining a position within the readout system.

In addition, the class provides static methods that allow to convert between the two "FED channel" numbering schema in place. The class member data hold values that respect the "external" numbering scheme used by the optical links group. Front-End units are numbered from 1 to 8, bottom to top. Channels with the FE units are numbered 1 to 12, bottom to top. The "internal" numbering scheme is used by the DAQ software, which numbers FED channels consecutively from 0 to 95, top to bottom.

Definition at line 57 of file SiStripFedKey.h.


Constructor & Destructor Documentation

SiStripFedKey::SiStripFedKey ( const uint16_t &  fed_id,
const uint16_t &  fe_unit = 0,
const uint16_t &  fe_chan = 0,
const uint16_t &  fed_apv = 0 
)

Constructor using FED id, FE unit, FE channel, and APV.

Definition at line 13 of file SiStripFedKey.cc.

References initFromKey(), initFromPath(), initFromValue(), and initGranularity().

                                                        :
  SiStripKey(),
  fedId_(fed_id), 
  feUnit_(fe_unit), 
  feChan_(fe_chan),
  fedApv_(fed_apv)
{
  // order is important!
  initFromValue();
  initFromKey();
  initFromPath();
  initGranularity();
}
SiStripFedKey::SiStripFedKey ( const uint32_t &  fed_key)

Constructor using 32-bit "FED key".

Definition at line 32 of file SiStripFedKey.cc.

References initFromKey(), initFromPath(), initFromValue(), and initGranularity().

SiStripFedKey::SiStripFedKey ( const std::string &  directory_path)
SiStripFedKey::SiStripFedKey ( const SiStripFedKey input)

Copy constructor.

Definition at line 64 of file SiStripFedKey.cc.

References SiStripKey::granularity(), SiStripKey::key(), and SiStripKey::path().

                                                         :
  SiStripKey(),
  fedId_(input.fedId()), 
  feUnit_(input.feUnit()), 
  feChan_(input.feChan()),
  fedApv_(input.fedApv())
{
  key(input.key());
  path(input.path());
  granularity(input.granularity());
}
SiStripFedKey::SiStripFedKey ( const SiStripKey input)

Copy constructor using base class.

Definition at line 78 of file SiStripFedKey.cc.

References feChan(), feChan_, fedApv(), fedApv_, fedId(), fedId_, feUnit(), feUnit_, SiStripKey::granularity(), LaserDQM_cfg::input, SiStripKey::key(), SiStripKey::path(), and groupFilesInBlocks::temp.

                                                      :
  SiStripKey(),
  fedId_(sistrip::invalid_),
  feUnit_(sistrip::invalid_),
  feChan_(sistrip::invalid_),
  fedApv_(sistrip::invalid_)
{
  SiStripKey& temp = const_cast<SiStripKey&>(input);
  SiStripFedKey& fed_key = dynamic_cast<SiStripFedKey&>(temp);
  if ( (&fed_key) ) {
    key(fed_key.key());
    path(fed_key.path());
    granularity(fed_key.granularity());
    fedId_ = fed_key.fedId(); 
    feUnit_ = fed_key.feUnit(); 
    feChan_ = fed_key.feChan();
    fedApv_ = fed_key.fedApv();
  }
}
SiStripFedKey::SiStripFedKey ( )

Member Function Documentation

const uint16_t & SiStripFedKey::feChan ( ) const [inline]
uint16_t SiStripFedKey::feChan ( const uint16_t &  fed_ch) [static]

Returns Front-End channel ("external" numbering scheme) for given FED channel ("internal" numbering scheme).

Definition at line 132 of file SiStripFedKey.cc.

References sistrip::FEDCH_PER_FED, and sistrip::invalid_.

                                                       {
  if ( fed_ch < sistrip::FEDCH_PER_FED ) {
    return ( (95-fed_ch)%12 + 1 );
  } 
  return sistrip::invalid_;
}
const uint16_t & SiStripFedKey::fedApv ( ) const [inline]

Returns APV within FED channel.

Definition at line 198 of file SiStripFedKey.h.

References fedApv_.

Referenced by SummaryGeneratorReadoutView::fill(), isConsistent(), isEqual(), print(), SiStripFedKey(), and terse().

{ return fedApv_; }
uint16_t SiStripFedKey::fedCh ( const uint16_t &  fe_unit,
const uint16_t &  fe_chan 
) [static]

Returns FED channel ("internal" numbering scheme) for given Front-End unit and channel ("external" numbering scheme).

Definition at line 110 of file SiStripFedKey.cc.

References sistrip::FEDCH_PER_FEUNIT, sistrip::FEUNITS_PER_FED, and sistrip::invalid_.

Referenced by fedChannel(), and SiStripCondObjBuilderFromDb::setValuesApvTiming().

                                                         {
  if ( fe_unit <= sistrip::FEUNITS_PER_FED &&
       fe_chan <= sistrip::FEDCH_PER_FEUNIT ) {
    if ( fe_unit != 0 && fe_chan != 0 ) { 
      return ( 95 - ( 12 * (fe_unit-1) + (fe_chan-1) ) ); 
    } 
  } 
  return sistrip::invalid_;  
}
uint16_t SiStripFedKey::fedChannel ( ) const [inline]
const uint16_t & SiStripFedKey::fedId ( ) const [inline]
uint32_t SiStripFedKey::fedIndex ( const uint16_t &  fed_id,
const uint16_t &  fed_ch 
) [static]

Returns number that encodes FED id and FED channel, which can be used to index vectors containing event and non-event data. Users should check if returned value is valid for indexing vector!

Definition at line 141 of file SiStripFedKey.cc.

References sistrip::FED_ID_MAX, sistrip::FED_ID_MIN, sistrip::FEDCH_PER_FED, and sistrip::invalid32_.

Referenced by SiStripSpyDisplayModule::analyze(), sistrip::SpyUnpacker::createDigis(), and sistrip::SpyDigiConverter::mergeModuleChannels().

                                                           {
  if ( fed_id < sistrip::FED_ID_MIN ||
       fed_id > sistrip::FED_ID_MAX ||
       fed_ch >= sistrip::FEDCH_PER_FED ) { return sistrip::invalid32_; }
  return ( fed_id * sistrip::FEDCH_PER_FED + fed_ch );
}
const uint16_t & SiStripFedKey::feUnit ( ) const [inline]
uint16_t SiStripFedKey::feUnit ( const uint16_t &  fed_ch) [static]

Returns Front-End unit ("external" numbering scheme) for given FED channel ("internal" numbering scheme).

Definition at line 123 of file SiStripFedKey.cc.

References sistrip::FEDCH_PER_FED, and sistrip::invalid_.

                                                       {
  if ( fed_ch < sistrip::FEDCH_PER_FED ) {
    return ( (95-fed_ch)/12 + 1 );
  }
  return sistrip::invalid_;
}
void SiStripFedKey::initFromKey ( ) [private, virtual]

Reimplemented from SiStripKey.

Definition at line 260 of file SiStripFedKey.cc.

References sistrip::APVS_PER_FEDCH, feChan_, feChanMask_, feChanOffset_, sistrip::FED_ID_MAX, sistrip::FED_ID_MIN, fedApv_, fedApvMask_, fedApvOffset_, sistrip::FEDCH_PER_FEUNIT, fedId_, fedIdMask_, fedIdOffset_, feUnit_, feUnitMask_, feUnitOffset_, sistrip::FEUNITS_PER_FED, sistrip::invalid32_, sistrip::invalid_, and SiStripKey::key().

Referenced by SiStripFedKey().

                                {

  if ( key() == sistrip::invalid32_ ) { 
    
    // ---------- Set FedKey based on member data ----------
    
    // Initialise to null value
    key(0);
    
    // Extract FED id
    if ( fedId_ >= sistrip::FED_ID_MIN && 
         fedId_ <= sistrip::FED_ID_MAX ) { 
      key( key() | (fedId_<<fedIdOffset_) );
    } else if ( fedId_ == 0 ) {
      key( key() | (fedId_<<fedIdOffset_) );
    } else {
      key( key() | (fedIdMask_<<fedIdOffset_) ); 
    }
    
    // Extract FE unit
    if ( feUnit_ >= 1 && 
         feUnit_ <= sistrip::FEUNITS_PER_FED ) { 
      key( key() | (feUnit_<<feUnitOffset_) );
    } else if ( feUnit_ == 0 ) {
      key( key() | (feUnit_<<feUnitOffset_) );
    } else {
      key( key() | (feUnitMask_<<feUnitOffset_) ); 
    }
  
    // Extract FE chan
    if ( feChan_ >= 1 && 
         feChan_ <= sistrip::FEDCH_PER_FEUNIT ) { 
      key( key() | (feChan_<<feChanOffset_) );
    } else if ( feChan_ == 0 ) {
      key( key() | (feChan_<<feChanOffset_) );
    } else {
      key( key() | (feChanMask_<<feChanOffset_) ); 
    }

    // Extract FED APV
    if ( fedApv_ >= 1 && 
         fedApv_ <=  sistrip::APVS_PER_FEDCH ) { 
      key( key() | (fedApv_<<fedApvOffset_) );
    } else if ( fedApv_ == 0 ) {
      key( key() | (fedApv_<<fedApvOffset_) );
    } else {
      key( key() | (fedApvMask_<<fedApvOffset_) ); 
    }
    
    // Set invalid key if necessary
    if ( fedId_ == sistrip::invalid_ &&
         feUnit_ == sistrip::invalid_ &&
         feChan_ == sistrip::invalid_ &&
         fedApv_ == sistrip::invalid_ ) { 
      key( sistrip::invalid32_ ); 
    }
    
  } else {
    
    // ---------- Set member data based on FED key ----------
    
    fedId_  = ( key()>>fedIdOffset_ )  & fedIdMask_;
    feUnit_ = ( key()>>feUnitOffset_ ) & feUnitMask_;
    feChan_ = ( key()>>feChanOffset_ ) & feChanMask_;
    fedApv_ = ( key()>>fedApvOffset_ ) & fedApvMask_;
    
    if ( fedId_ == fedIdMask_ )   { fedId_ = sistrip::invalid_; } 
    if ( feUnit_ == feUnitMask_ ) { feUnit_ = sistrip::invalid_; } 
    if ( feChan_ == feChanMask_ ) { feChan_ = sistrip::invalid_; } 
    if ( fedApv_ == fedApvMask_ ) { fedApv_ = sistrip::invalid_; } 

  }
  
}
void SiStripFedKey::initFromPath ( ) [private, virtual]

Reimplemented from SiStripKey.

Definition at line 337 of file SiStripFedKey.cc.

References dir, sistrip::dir_, feChan_, sistrip::feChan_, sistrip::fedApv_, fedApv_, fedId_, sistrip::feDriver_, sistrip::feUnit_, feUnit_, spr::find(), GetRecoTauVFromDQM_MC_cff::next, sistrip::null_, SiStripKey::path(), sistrip::readoutView_, sistrip::root_, and groupFilesInBlocks::temp.

Referenced by SiStripFedKey().

                                 {
  
  if ( path() == sistrip::null_ ) {
    
    // ---------- Set directory path based on member data ----------
      
    std::stringstream dir;
    
    dir << sistrip::root_ << sistrip::dir_ 
        << sistrip::readoutView_ << sistrip::dir_;
    
    // Add FED id
    if ( fedId_ ) {
      dir << sistrip::feDriver_ << fedId_ << sistrip::dir_;

      // Add FE unit
      if ( feUnit_ ) {
        dir << sistrip::feUnit_ << feUnit_ << sistrip::dir_;

        // Add FE channel
        if ( feChan_ ) {
          dir << sistrip::feChan_ << feChan_ << sistrip::dir_;

          // Add FED APV
          if ( fedApv_ ) {
            dir << sistrip::fedApv_ << fedApv_ << sistrip::dir_;
          }
        }
      }
    }
    
    std::string temp( dir.str() );
    path( temp );
    
  } else {
    
    // ---------- Set member data based on directory path ----------
    
    fedId_  = 0;
    feUnit_ = 0;
    feChan_ = 0;
    fedApv_ = 0;
    
    // Check if root is found
    if ( path().find( sistrip::root_ ) == std::string::npos ) {
      std::string temp = path();
      path( std::string(sistrip::root_) + sistrip::dir_ + temp );
    }
    
    size_t curr = 0; // current string position
    size_t next = 0; // next string position
    next = path().find( sistrip::readoutView_, curr );
    
    // Extract view 
    curr = next;
    if ( curr != std::string::npos ) { 
      next = path().find( sistrip::feDriver_, curr );
      std::string readout_view( path(), 
                                curr+(sizeof(sistrip::readoutView_) - 1), 
                                (next-(sizeof(sistrip::dir_) - 1))-curr );
      
      // Extract FED id
      curr = next;
      if ( curr != std::string::npos ) { 
        next = path().find( sistrip::feUnit_, curr );
        std::string fed_id( path(), 
                            curr+(sizeof(sistrip::feDriver_) - 1), 
                            (next-(sizeof(sistrip::dir_) - 1))-curr );
        fedId_ = atoi( fed_id.c_str() );
        
        // Extract FE unit
        curr = next;
        if ( curr != std::string::npos ) { 
          next = path().find( sistrip::feChan_, curr );
          std::string fe_unit( path(), 
                               curr+(sizeof(sistrip::feUnit_) - 1), 
                               next-curr );
          feUnit_ = atoi( fe_unit.c_str() );
          
          // Extract FE channel
          curr = next;
          if ( curr != std::string::npos ) { 
            next = path().find( sistrip::fedApv_, curr );
            std::string fe_chan( path(), 
                                 curr+(sizeof(sistrip::feChan_) - 1), 
                                 next-curr );
            feChan_ = atoi( fe_chan.c_str() );
            
            // Extract FED APV 
            curr = next;
            if ( curr != std::string::npos ) { 
              next = std::string::npos;
              std::string fed_apv( path(), 
                                   curr+(sizeof(sistrip::fedApv_) - 1), 
                                   next-curr );
              fedApv_ = atoi( fed_apv.c_str() );
            }
          }
        }
      }
    } else {
      std::stringstream ss;
      ss << sistrip::root_ << sistrip::dir_;
      //ss << sistrip::root_ << sistrip::dir_ 
      //<< sistrip::unknownView_ << sistrip::dir_;
      std::string temp( ss.str() );
      path( temp );
    }

  }
  
}
void SiStripFedKey::initFromValue ( ) [private, virtual]
void SiStripFedKey::initGranularity ( ) [private, virtual]
bool SiStripFedKey::isConsistent ( const SiStripKey key) const [virtual]

"Consistent" means identical and/or null (ie, "all") data.

Reimplemented from SiStripKey.

Definition at line 165 of file SiStripFedKey.cc.

References feChan(), feChan_, fedApv(), fedApv_, fedId(), fedId_, feUnit(), feUnit_, LaserDQM_cfg::input, isEqual(), SiStripKey::key(), and groupFilesInBlocks::temp.

                                                              {
  SiStripKey& temp = const_cast<SiStripKey&>(key);
  SiStripFedKey& input = dynamic_cast<SiStripFedKey&>(temp);
  if ( !(&input) ) { return false; }
  if ( isEqual(input) ) { return true; }
  else if ( ( fedId_ == 0 || input.fedId() == 0 ) &&
            ( feUnit_ == 0 || input.feUnit() == 0 ) &&
            ( feChan_ == 0 || input.feChan() == 0 ) &&
            ( fedApv_ == 0 || input.fedApv() == 0 ) ) { 
    return true;
  } else { return false; }
}
bool SiStripFedKey::isEqual ( const SiStripKey key) const [virtual]

Identifies key objects with identical member data.

Reimplemented from SiStripKey.

Definition at line 151 of file SiStripFedKey.cc.

References feChan(), feChan_, fedApv(), fedApv_, fedId(), fedId_, feUnit(), feUnit_, LaserDQM_cfg::input, SiStripKey::key(), and groupFilesInBlocks::temp.

Referenced by isConsistent().

                                                         {
  SiStripKey& temp = const_cast<SiStripKey&>(key);
  SiStripFedKey& input = dynamic_cast<SiStripFedKey&>(temp);
  if ( !(&input) ) { return false; }
  if ( fedId_ == input.fedId() &&
       feUnit_ == input.feUnit() &&
       feChan_ == input.feChan() &&
       fedApv_ == input.fedApv() ) { 
    return true;
  } else { return false; }
}
bool SiStripFedKey::isInvalid ( const sistrip::Granularity gran) const [virtual]

All member data to level of "Granularity" are invalid. If sistrip::Granularity is "undefined", returns true.

Reimplemented from SiStripKey.

Definition at line 214 of file SiStripFedKey.cc.

References sistrip::FE_CHAN, sistrip::FE_DRIVER, sistrip::FE_UNIT, feChan_, sistrip::FED_APV, sistrip::FED_SYSTEM, fedApv_, fedId_, feUnit_, sistrip::invalid_, sistrip::UNDEFINED_GRAN, and sistrip::UNKNOWN_GRAN.

                                                                    {
  if ( gran == sistrip::FED_SYSTEM ) { return false; }
  else if ( gran == sistrip::UNDEFINED_GRAN ||
            gran == sistrip::UNKNOWN_GRAN ) { return false; }

  if ( fedId_ == sistrip::invalid_ ) {
    if ( gran == sistrip::FE_DRIVER ) { return true; }
    if ( feUnit_ == sistrip::invalid_ ) {
      if ( gran == sistrip::FE_UNIT ) { return true; }
      if ( feChan_ == sistrip::invalid_ ) {
        if ( gran == sistrip::FE_CHAN ) { return true; }
        if ( fedApv_ == sistrip::invalid_ ) {
          if ( gran == sistrip::FED_APV ) { return true; }
        }
      }
    }
  }
  return false;
}
bool SiStripFedKey::isInvalid ( ) const [virtual]

Identifies all member data as being invalid.

Reimplemented from SiStripKey.

Definition at line 208 of file SiStripFedKey.cc.

References sistrip::FED_APV.

bool SiStripFedKey::isValid ( const sistrip::Granularity gran) const [virtual]

All member data to level of "Granularity" are valid. If sistrip::Granularity is "undefined", returns false.

Reimplemented from SiStripKey.

Definition at line 186 of file SiStripFedKey.cc.

References sistrip::FE_CHAN, sistrip::FE_DRIVER, sistrip::FE_UNIT, feChan_, sistrip::FED_APV, sistrip::FED_SYSTEM, fedApv_, fedId_, feUnit_, sistrip::invalid_, sistrip::UNDEFINED_GRAN, and sistrip::UNKNOWN_GRAN.

                                                                  {
  if ( gran == sistrip::FED_SYSTEM ) { return true; }
  else if ( gran == sistrip::UNDEFINED_GRAN ||
            gran == sistrip::UNKNOWN_GRAN ) { return false; }

  if ( fedId_ != sistrip::invalid_ ) {
    if ( gran == sistrip::FE_DRIVER ) { return true; }
    if ( feUnit_ != sistrip::invalid_ ) {
      if ( gran == sistrip::FE_UNIT ) { return true; }
      if ( feChan_ != sistrip::invalid_ ) {
        if ( gran == sistrip::FE_CHAN ) { return true; }
        if ( fedApv_ != sistrip::invalid_ ) {
          if ( gran == sistrip::FED_APV ) { return true; }
        }
      }
    }
  }
  return false;
}
bool SiStripFedKey::isValid ( void  ) const [virtual]

Identifies all member data as being "valid" or null ("all").

Reimplemented from SiStripKey.

Definition at line 180 of file SiStripFedKey.cc.

References sistrip::FED_APV.

Referenced by SummaryGeneratorReadoutView::fill(), and print().

                                  { 
  return isValid(sistrip::FED_APV); 
}
void SiStripFedKey::print ( std::stringstream &  ss) const [virtual]

Print member data of the key

Reimplemented from SiStripKey.

Definition at line 514 of file SiStripFedKey.cc.

References SiStripKey::channel(), feChan(), fedApv(), fedChannel(), fedId(), feUnit(), SiStripKey::granularity(), isValid(), SiStripKey::key(), and SiStripKey::path().

Referenced by operator<<(), and CommissioningHistograms::printHistosMap().

                                                     {
  ss << " [SiStripFedKey::print]" << std::endl
     << std::hex
     << " FED key         : 0x" 
     << std::setfill('0') 
     << std::setw(8) << key() << std::endl
     << std::setfill(' ') 
     << std::dec
     << " FED id          : " << fedId() << std::endl
     << " Front-End unit  : " << feUnit() << std::endl 
     << " Front-End chan  : " << feChan() << std::endl
     << " (internal chan) : " 
     << "(" << fedChannel() << ")" << std::endl
     << " FED APV         : " << fedApv() << std::endl
     << " Directory       : " << path() << std::endl
     << " Granularity     : "
     << SiStripEnumsAndStrings::granularity( granularity() ) << std::endl
     << " Channel         : " << channel() << std::endl
     << " isValid         : " << isValid();
}
void SiStripFedKey::terse ( std::stringstream &  ss) const [virtual]

A terse summary of the key

Reimplemented from SiStripKey.

Definition at line 489 of file SiStripFedKey.cc.

References feChan(), fedApv(), fedId(), and feUnit().

                                                     {
  ss << "FED:crate/slot/id/unit/chan/apv= "
     << "-" << "/"
     << "-" << "/"
     << fedId() << "/"
     << feUnit() << "/"
     << feChan() << "/"
     << fedApv();
//   ss << " FedKey"
//     //<<"=0x" 
//     //<< std::hex
//     //<< std::setfill('0') << std::setw(8) << key() << std::setfill(' ') 
//     //<< std::dec
//     //<< ", " << ( isValid() ? "Valid" : "Invalid" )
//     //<< ", FedCrate=" << fedCrate()
//     //<< ", FedSlot=" << fedSlot()
//      << ", FedId=" << fedId()
//      << ", FeUnit=" << feUnit()
//      << ", FeChan=" << feChan()
//     //<< ", FedChannel=" << fedChannel()
//      << ", FedApv=" << fedApv();
}

Member Data Documentation

uint16_t SiStripFedKey::feChan_ [private]
const uint16_t SiStripFedKey::feChanMask_ = 0x00F [static, private]

Definition at line 188 of file SiStripFedKey.h.

Referenced by initFromKey().

const uint16_t SiStripFedKey::feChanOffset_ = 2 [static, private]

Definition at line 180 of file SiStripFedKey.h.

Referenced by initFromKey().

uint16_t SiStripFedKey::fedApv_ [private]
const uint16_t SiStripFedKey::fedApvMask_ = 0x003 [static, private]

Definition at line 189 of file SiStripFedKey.h.

Referenced by initFromKey().

const uint16_t SiStripFedKey::fedApvOffset_ = 0 [static, private]

Definition at line 181 of file SiStripFedKey.h.

Referenced by initFromKey().

const uint16_t SiStripFedKey::fedCrateMask_ = 0x03F [static, private]

Definition at line 184 of file SiStripFedKey.h.

const uint16_t SiStripFedKey::fedCrateOffset_ = 24 [static, private]

Definition at line 176 of file SiStripFedKey.h.

uint16_t SiStripFedKey::fedId_ [private]

FED id [0,50-489,invalid].

Definition at line 164 of file SiStripFedKey.h.

Referenced by fedId(), initFromKey(), initFromPath(), initFromValue(), initGranularity(), isConsistent(), isEqual(), isInvalid(), isValid(), and SiStripFedKey().

const uint16_t SiStripFedKey::fedIdMask_ = 0x1FF [static, private]

Definition at line 186 of file SiStripFedKey.h.

Referenced by initFromKey().

const uint16_t SiStripFedKey::fedIdOffset_ = 10 [static, private]

Definition at line 178 of file SiStripFedKey.h.

Referenced by initFromKey().

const uint16_t SiStripFedKey::fedSlotMask_ = 0x01F [static, private]

Definition at line 185 of file SiStripFedKey.h.

const uint16_t SiStripFedKey::fedSlotOffset_ = 19 [static, private]

Definition at line 177 of file SiStripFedKey.h.

uint16_t SiStripFedKey::feUnit_ [private]
const uint16_t SiStripFedKey::feUnitMask_ = 0x00F [static, private]

Definition at line 187 of file SiStripFedKey.h.

Referenced by initFromKey().

const uint16_t SiStripFedKey::feUnitOffset_ = 6 [static, private]

Definition at line 179 of file SiStripFedKey.h.

Referenced by initFromKey().