CMS 3D CMS Logo

SiStripKey Class Reference

Author:
R.Bainbridge
More...

#include <DataFormats/SiStripCommon/interface/SiStripKey.h>

Inheritance diagram for SiStripKey:

SiStripDetKey SiStripFecKey SiStripFedKey SiStripNullKey

List of all members.

Public Member Functions

const uint16_t & channel () const
 Returns channel for key granularity.
const sistrip::Granularitygranularity () const
 Returns granularity to which key is unambiguous.
virtual bool isConsistent (const SiStripKey &) const
 "Consistent" means identical and/or null (ie, "all") data.
virtual bool isEqual (const SiStripKey &) const
 Identifies key objects with identical member data.
virtual bool isInvalid (const sistrip::Granularity &) const
 All member data to level of "Granularity" are invalid.
virtual bool isInvalid () const
 Identifies all member data as being invalid.
virtual bool isValid (const sistrip::Granularity &) const
 All member data to level of "Granularity" are valid.
virtual bool isValid () const
 Identifies all member data as being "valid" or null ("all").
const uint32_t & key () const
 Returns 32-bit key.
const SiStripKeyoperator= (const SiStripKey &)
 Assignment.
const std::string & path () const
 Returns directory path.
virtual void print (std::stringstream &ss) const
 Print member data of the key.
 SiStripKey ()
 Default constructor.
 SiStripKey (const SiStripKey &)
 Copy constructor.
 SiStripKey (const std::string &directory_path)
 Constructor using directory path.
 SiStripKey (const uint32_t &key)
 Constructor using 32-bit "key".
virtual void terse (std::stringstream &ss) const
 A terse summary of the key.
virtual ~SiStripKey ()
 Virtual destructor.

Protected Member Functions

void channel (const uint16_t &)
void granularity (const sistrip::Granularity &)
virtual void initFromKey ()
virtual void initFromPath ()
virtual void initFromValue ()
virtual void initGranularity ()
void key (const uint32_t &)
void path (const std::string &)

Private Attributes

uint16_t channel_
 Channel of key granularity.
sistrip::Granularity granularity_
 Granularity to which FED key is unambiguous.
uint32_t key_
 32-bit key.
std::string path_
 Directory path.


Detailed Description

Author:
R.Bainbridge

Base utility class that identifies a position within a logical structure of the strip tracker.

Definition at line 24 of file SiStripKey.h.


Constructor & Destructor Documentation

SiStripKey::SiStripKey ( const uint32_t &  key  ) 

Constructor using 32-bit "key".

Definition at line 10 of file SiStripKey.cc.

SiStripKey::SiStripKey ( const std::string &  directory_path  ) 

Constructor using directory path.

Definition at line 19 of file SiStripKey.cc.

SiStripKey::SiStripKey ( const SiStripKey input  ) 

Copy constructor.

Definition at line 28 of file SiStripKey.cc.

00028                                                 :
00029   key_( input.key() ),
00030   path_( input.path() ),
00031   granularity_( input.granularity() ),
00032   channel_( input.channel() )
00033 {;}

SiStripKey::SiStripKey (  ) 

Default constructor.

Definition at line 48 of file SiStripKey.cc.

virtual SiStripKey::~SiStripKey (  )  [inline, virtual]

Virtual destructor.

Definition at line 46 of file SiStripKey.h.

00046 {;}


Member Function Documentation

void SiStripKey::channel ( const uint16_t &  chan  )  [inline, protected]

Definition at line 134 of file SiStripKey.h.

References channel_.

00134 { channel_ = chan; }

const uint16_t & SiStripKey::channel (  )  const [inline]

Returns channel for key granularity.

Definition at line 129 of file SiStripKey.h.

References channel_.

Referenced by CommissioningHistosUsingDb::deviceIsPresent(), SummaryGeneratorControlView::fill(), SiStripCommissioningSource::fillCablingHistos(), SiStripFecKey::initGranularity(), SiStripFedKey::initGranularity(), isEqual(), operator=(), print(), SiStripFecKey::print(), SiStripDetKey::print(), SiStripNullKey::print(), SiStripFedKey::print(), SiStripHistoTitle::SiStripHistoTitle(), OptoScanHistosUsingDb::update(), ApvTimingHistosUsingDb::update(), and VpspScanHistosUsingDb::update().

00129 { return channel_; }

void SiStripKey::granularity ( const sistrip::Granularity gran  )  [inline, protected]

Definition at line 133 of file SiStripKey.h.

References granularity_.

00133 { granularity_ = gran; }

const sistrip::Granularity & SiStripKey::granularity (  )  const [inline]

Returns granularity to which key is unambiguous.

Definition at line 128 of file SiStripKey.h.

References granularity_.

Referenced by CommissioningHistograms::createCollations(), CommissioningHistograms::extractHistograms(), SiStripFecKey::initGranularity(), SiStripFedKey::initGranularity(), isEqual(), operator=(), print(), SiStripFecKey::print(), SiStripDetKey::print(), SiStripNullKey::print(), SiStripFedKey::print(), SiStripDetKey::SiStripDetKey(), SiStripFecKey::SiStripFecKey(), SiStripFedKey::SiStripFedKey(), and SiStripHistoTitle::SiStripHistoTitle().

00128 { return granularity_; }

virtual void SiStripKey::initFromKey (  )  [inline, protected, virtual]

Reimplemented in SiStripDetKey, SiStripFecKey, SiStripFedKey, and SiStripNullKey.

Definition at line 97 of file SiStripKey.h.

00097 {;}

virtual void SiStripKey::initFromPath (  )  [inline, protected, virtual]

Reimplemented in SiStripDetKey, SiStripFecKey, SiStripFedKey, and SiStripNullKey.

Definition at line 98 of file SiStripKey.h.

00098 {;}

virtual void SiStripKey::initFromValue (  )  [inline, protected, virtual]

Reimplemented in SiStripDetKey, SiStripFecKey, SiStripFedKey, and SiStripNullKey.

Definition at line 96 of file SiStripKey.h.

00096 {;}

virtual void SiStripKey::initGranularity (  )  [inline, protected, virtual]

Reimplemented in SiStripDetKey, SiStripFecKey, SiStripFedKey, and SiStripNullKey.

Definition at line 99 of file SiStripKey.h.

00099 {;}

bool SiStripKey::isConsistent ( const SiStripKey input  )  const [virtual]

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

Reimplemented in SiStripDetKey, SiStripFecKey, SiStripFedKey, and SiStripNullKey.

Definition at line 69 of file SiStripKey.cc.

References isEqual().

00069                                                              {
00070   return isEqual(input); 
00071 }

bool SiStripKey::isEqual ( const SiStripKey input  )  const [virtual]

Identifies key objects with identical member data.

Reimplemented in SiStripDetKey, SiStripFecKey, SiStripFedKey, and SiStripNullKey.

Definition at line 57 of file SiStripKey.cc.

References channel(), channel_, granularity(), granularity_, key(), key_, path(), and path_.

Referenced by isConsistent().

00057                                                         {
00058   if ( !(&input) ) { return false; }
00059   if ( key_ == input.key() &&
00060        path_ == input.path() &&
00061        granularity_ == input.granularity() &&
00062        channel_ == input.channel() ) { 
00063     return true;
00064   } else { return false; }
00065 }

bool SiStripKey::isInvalid ( const sistrip::Granularity gran  )  const [virtual]

All member data to level of "Granularity" are invalid.

If sistrip::Granularity is "undefined", returns true.

Reimplemented in SiStripDetKey, SiStripFecKey, SiStripFedKey, and SiStripNullKey.

Definition at line 99 of file SiStripKey.cc.

References isInvalid().

00099                                                                  { 
00100   return isInvalid();
00101 }

bool SiStripKey::isInvalid (  )  const [virtual]

Identifies all member data as being invalid.

Reimplemented in SiStripDetKey, SiStripFecKey, SiStripFedKey, and SiStripNullKey.

Definition at line 90 of file SiStripKey.cc.

References channel_, granularity_, sistrip::invalid32_, sistrip::invalid_, key_, sistrip::null_, path_, and sistrip::UNDEFINED_GRAN.

Referenced by isInvalid().

00090                                  { 
00091   return ( key_ == sistrip::invalid32_ ||
00092            path_ == sistrip::null_ ||
00093            granularity_ == sistrip::UNDEFINED_GRAN ||
00094            channel_ == sistrip::invalid_ );
00095 }

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

All member data to level of "Granularity" are valid.

If sistrip::Granularity is "undefined", returns false.

Reimplemented in SiStripDetKey, SiStripFecKey, SiStripFedKey, and SiStripNullKey.

Definition at line 84 of file SiStripKey.cc.

References isValid().

00084                                                                { 
00085   return isValid();
00086 }

bool SiStripKey::isValid ( void   )  const [virtual]

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

Reimplemented in SiStripDetKey, SiStripFecKey, SiStripFedKey, and SiStripNullKey.

Definition at line 75 of file SiStripKey.cc.

References channel_, granularity_, sistrip::invalid32_, sistrip::invalid_, key_, sistrip::null_, path_, and sistrip::UNDEFINED_GRAN.

Referenced by isValid().

00075                                { 
00076   return ( key_ != sistrip::invalid32_ &&
00077            path_ != sistrip::null_ &&
00078            granularity_ != sistrip::UNDEFINED_GRAN &&
00079            channel_ != sistrip::invalid_ );
00080 }

void SiStripKey::key ( const uint32_t &  key  )  [inline, protected]

Definition at line 131 of file SiStripKey.h.

References key_.

00131 { key_ = key; }

const uint32_t & SiStripKey::key (  )  const [inline]

Returns 32-bit key.

Definition at line 126 of file SiStripKey.h.

References key_.

Referenced by CommissioningHistosUsingDb::buildDetInfo(), CommissioningHistograms::createCollations(), SiStripCommissioningSource::createTasks(), CommissioningHistosUsingDb::detInfo(), CommissioningHistograms::extractHistograms(), SiStripFedKey::initFromKey(), SiStripFecKey::initFromKey(), SiStripFecKey::initFromValue(), isEqual(), ConsistentWithKey::operator()(), operator<(), operator=(), print(), SiStripFecKey::print(), SiStripDetKey::print(), SiStripNullKey::print(), SiStripFedKey::print(), SiStripDetKey::SiStripDetKey(), SiStripFecKey::SiStripFecKey(), SiStripFedKey::SiStripFedKey(), SiStripHistoTitle::SiStripHistoTitle(), PedsOnlyAnalysis::summary(), VpspScanAnalysis::summary(), PedestalsAnalysis::summary(), NoiseAnalysis::summary(), OptoScanAnalysis::summary(), FastFedCablingAnalysis::summary(), NoiseHistosUsingDb::update(), OptoScanHistosUsingDb::update(), PedsOnlyHistosUsingDb::update(), PedestalsHistosUsingDb::update(), ApvTimingHistosUsingDb::update(), and VpspScanHistosUsingDb::update().

00126 { return key_; }

const SiStripKey & SiStripKey::operator= ( const SiStripKey rhs  ) 

Assignment.

Definition at line 37 of file SiStripKey.cc.

References channel(), channel_, granularity(), granularity_, key(), key_, path(), and path_.

00037                                                                {
00038   if ( this == &rhs ) { return *this; }
00039   key_ = rhs.key();
00040   path_ = rhs.path();
00041   granularity_ = rhs.granularity();
00042   channel_ = rhs.channel();
00043   return *this;
00044 }

void SiStripKey::path ( const std::string &  path  )  [inline, protected]

Definition at line 132 of file SiStripKey.h.

References path_.

00132 { path_ = path; }

const std::string & SiStripKey::path (  )  const [inline]

Returns directory path.

Definition at line 127 of file SiStripKey.h.

References path_.

Referenced by CommissioningHistosUsingDb::addDcuDetIds(), SiStripTFile::addDevice(), SiStripFEDMonitorPlugin::bookFEDHistograms(), CommissioningHistograms::copyCustomInformation(), CnBAnalyzer::createDetailedFedHistograms(), CnBAnalyzer::createRootFedHistograms(), SiStripCommissioningSource::createTasks(), SummaryGeneratorReadoutView::fill(), SummaryGeneratorControlView::fill(), SiStripFecKey::initFromPath(), SiStripFedKey::initFromPath(), isEqual(), operator=(), print(), SiStripFecKey::print(), SiStripDetKey::print(), SiStripNullKey::print(), SiStripFedKey::print(), CommissioningHistograms::runNumber(), CommissioningHistograms::runType(), SiStripDetKey::SiStripDetKey(), SiStripFecKey::SiStripFecKey(), SiStripFedKey::SiStripFedKey(), and FastFedCablingAnalysis::summary().

00127 { return path_; }

void SiStripKey::print ( std::stringstream &  ss  )  const [virtual]

Print member data of the key.

Reimplemented in SiStripDetKey, SiStripFecKey, SiStripFedKey, and SiStripNullKey.

Definition at line 105 of file SiStripKey.cc.

References channel(), lat::endl(), granularity(), SiStripEnumsAndStrings::granularity(), key(), and path().

Referenced by operator<<().

00105                                                   { 
00106   ss << " [SiStripKey::print]" << std::endl
00107      << std::hex
00108      << " 32-bit key  : 0x" 
00109      << std::setfill('0') 
00110      << std::setw(8) << key() << std::endl
00111      << std::setfill(' ') 
00112      << std::dec
00113      << " Directory   : " << path() << std::endl
00114      << " Granularity : " 
00115      << SiStripEnumsAndStrings::granularity( granularity() ) << std::endl
00116      << " Channel     : " << channel();
00117 }

virtual void SiStripKey::terse ( std::stringstream &  ss  )  const [inline, virtual]

A terse summary of the key.

Reimplemented in SiStripDetKey, SiStripFecKey, SiStripFedKey, and SiStripNullKey.

Definition at line 90 of file SiStripKey.h.

00090 {;}


Member Data Documentation

uint16_t SiStripKey::channel_ [private]

Channel of key granularity.

Definition at line 120 of file SiStripKey.h.

Referenced by channel(), isEqual(), isInvalid(), isValid(), and operator=().

sistrip::Granularity SiStripKey::granularity_ [private]

Granularity to which FED key is unambiguous.

Definition at line 117 of file SiStripKey.h.

Referenced by granularity(), isEqual(), isInvalid(), isValid(), and operator=().

uint32_t SiStripKey::key_ [private]

32-bit key.

Definition at line 111 of file SiStripKey.h.

Referenced by isEqual(), isInvalid(), isValid(), key(), and operator=().

std::string SiStripKey::path_ [private]

Directory path.

Definition at line 114 of file SiStripKey.h.

Referenced by isEqual(), isInvalid(), isValid(), operator=(), and path().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:32:24 2009 for CMSSW by  doxygen 1.5.4