CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
SiStripDetKey Class Reference

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

#include <SiStripDetKey.h>

Inheritance diagram for SiStripDetKey:
SiStripKey

Public Member Functions

const uint16_t & apvPairNumber () const
 
const uint16_t & apvWithinPair () const
 
bool isConsistent (const SiStripKey &) const
 
bool isEqual (const SiStripKey &) const
 
bool isInvalid () const
 
bool isInvalid (const sistrip::Granularity &) const
 
bool isValid () const
 
bool isValid (const sistrip::Granularity &) const
 
const uint16_t & partition () const
 
virtual void print (std::stringstream &ss) const
 
 SiStripDetKey (const uint16_t &partition)
 
 SiStripDetKey (const DetId &det_id, const uint16_t &apv_pair_number=0, const uint16_t &apv_within_pair=0)
 
 SiStripDetKey (const SiStripDetId &det_id)
 
 SiStripDetKey (const uint32_t &det_key)
 
 SiStripDetKey (const std::string &directory_path)
 
 SiStripDetKey (const SiStripDetKey &)
 
 SiStripDetKey (const SiStripKey &)
 
 SiStripDetKey (const SiStripKey &, const sistrip::Granularity &)
 
 SiStripDetKey ()
 
virtual void terse (std::stringstream &ss) const
 
- Public Member Functions inherited from SiStripKey
const uint16_t & channel () const
 
const sistrip::Granularitygranularity () const
 
const uint32_t & key () const
 
const SiStripKeyoperator= (const SiStripKey &)
 
const std::string & path () const
 
 SiStripKey (const uint32_t &key)
 
 SiStripKey (const std::string &directory_path)
 
 SiStripKey (const SiStripKey &)
 
 SiStripKey ()
 
virtual ~SiStripKey ()
 

Private Member Functions

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

Private Attributes

uint16_t apvPairNumber_
 
uint16_t apvWithinPair_
 
uint16_t partition_
 

Static Private Attributes

static const uint16_t partitionMask_ = 0x07
 
static const uint16_t partitionOffset_ = 29
 

Additional Inherited Members

- Protected Member Functions inherited from SiStripKey
void channel (const uint16_t &)
 
void granularity (const sistrip::Granularity &)
 
void key (const uint32_t &)
 
void path (const std::string &)
 

Detailed Description

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

Author
R.Bainbridge, S.Lowette

NOTA BENE: *** NOT FINISHED ***

can generate another key that is NOT DetId and packs sistrip-specific data in a more condensed way, so that all levels can be encoded with "all" and "invalid" values, down to level of apv. also, need "conversion tool" that re-generates DetId key from this new key. this is only way...!!! maybe can "safeguard" use of this key as a DetId by reserving bits 22-24 as a flag (eg, set all high), so that if an attempt to build DetId using SiStripDetId class, we can understand if key is real DetId or not... what about going to level of apv?... what about levels about module?...

Definition at line 28 of file SiStripDetKey.h.

Constructor & Destructor Documentation

SiStripDetKey::SiStripDetKey ( const uint16_t &  partition)

Constructor using partition.

Definition at line 9 of file SiStripDetKey.cc.

SiStripDetKey::SiStripDetKey ( const DetId det_id,
const uint16_t &  apv_pair_number = 0,
const uint16_t &  apv_within_pair = 0 
)

Constructor using DetId, APV pair and APV pos within pair.

Definition at line 24 of file SiStripDetKey.cc.

SiStripDetKey::SiStripDetKey ( const SiStripDetId det_id)

Constructor using SiStripDetId.

Definition at line 41 of file SiStripDetKey.cc.

SiStripDetKey::SiStripDetKey ( const uint32_t &  det_key)

Constructor using 32-bit "DET key".

Definition at line 56 of file SiStripDetKey.cc.

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

Constructor using directory path.

Definition at line 71 of file SiStripDetKey.cc.

SiStripDetKey::SiStripDetKey ( const SiStripDetKey input)

Copy constructor.

Definition at line 86 of file SiStripDetKey.cc.

SiStripDetKey::SiStripDetKey ( const SiStripKey input)

Copy constructor using base class.

Definition at line 99 of file SiStripDetKey.cc.

SiStripDetKey::SiStripDetKey ( const SiStripKey input,
const sistrip::Granularity gran 
)

Copy to level specified by granularity.

Definition at line 118 of file SiStripDetKey.cc.

SiStripDetKey::SiStripDetKey ( )

Default constructor

Definition at line 143 of file SiStripDetKey.cc.

Member Function Documentation

const uint16_t & SiStripDetKey::apvPairNumber ( ) const
inline

Returns APV pair number.

Definition at line 142 of file SiStripDetKey.h.

References apvPairNumber_.

142 { return apvPairNumber_; }
uint16_t apvPairNumber_
const uint16_t & SiStripDetKey::apvWithinPair ( ) const
inline

Returns APV position within pair.

Definition at line 143 of file SiStripDetKey.h.

References apvWithinPair_.

143 { return apvWithinPair_; }
uint16_t apvWithinPair_
void SiStripDetKey::initFromKey ( )
privatevirtual

Reimplemented from SiStripKey.

Definition at line 229 of file SiStripDetKey.cc.

void SiStripDetKey::initFromPath ( )
privatevirtual

Reimplemented from SiStripKey.

Definition at line 262 of file SiStripDetKey.cc.

void SiStripDetKey::initFromValue ( )
privatevirtual

Reimplemented from SiStripKey.

Definition at line 215 of file SiStripDetKey.cc.

void SiStripDetKey::initGranularity ( )
privatevirtual

Reimplemented from SiStripKey.

Definition at line 328 of file SiStripDetKey.cc.

bool SiStripDetKey::isConsistent ( const SiStripKey key) const
virtual

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

Reimplemented from SiStripKey.

Definition at line 164 of file SiStripDetKey.cc.

bool SiStripDetKey::isEqual ( const SiStripKey key) const
virtual

Identifies key objects with identical member data.

Reimplemented from SiStripKey.

Definition at line 152 of file SiStripDetKey.cc.

bool SiStripDetKey::isInvalid ( ) const
virtual

Identifies all member data as being invalid.

Reimplemented from SiStripKey.

Definition at line 196 of file SiStripDetKey.cc.

bool SiStripDetKey::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 202 of file SiStripDetKey.cc.

bool SiStripDetKey::isValid ( void  ) const
virtual

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

Reimplemented from SiStripKey.

Definition at line 177 of file SiStripDetKey.cc.

Referenced by core.AutoHandle.AutoHandle::ReallyLoad().

bool SiStripDetKey::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 183 of file SiStripDetKey.cc.

Referenced by core.AutoHandle.AutoHandle::ReallyLoad().

const uint16_t & SiStripDetKey::partition ( ) const
inline

Returns partition.

Definition at line 141 of file SiStripDetKey.h.

References partition_.

141 { return partition_; }
uint16_t partition_
void SiStripDetKey::print ( std::stringstream &  ss) const
virtual

Print member data of the key

Reimplemented from SiStripKey.

Definition at line 351 of file SiStripDetKey.cc.

void SiStripDetKey::terse ( std::stringstream &  ss) const
virtual

A terse summary of the key

Reimplemented from SiStripKey.

Definition at line 344 of file SiStripDetKey.cc.

Member Data Documentation

uint16_t SiStripDetKey::apvPairNumber_
private

APV pair number [0,1-3,invalid].

Definition at line 126 of file SiStripDetKey.h.

Referenced by apvPairNumber().

uint16_t SiStripDetKey::apvWithinPair_
private

APV position within pair [0,1-2,invalid].

Definition at line 129 of file SiStripDetKey.h.

Referenced by apvWithinPair().

uint16_t SiStripDetKey::partition_
private

partition [0,1-4,invalid].

Definition at line 123 of file SiStripDetKey.h.

Referenced by partition().

const uint16_t SiStripDetKey::partitionMask_ = 0x07
staticprivate

Definition at line 135 of file SiStripDetKey.h.

const uint16_t SiStripDetKey::partitionOffset_ = 29
staticprivate

Definition at line 132 of file SiStripDetKey.h.