CMS 3D CMS Logo

Classes | Public Member Functions | Private Attributes

TrackerTopology Class Reference

#include <TrackerTopology.h>

List of all members.

Classes

struct  PixelBarrelValues
struct  PixelEndcapValues
struct  TECValues
struct  TIBValues
struct  TIDValues
struct  TOBValues

Public Member Functions

unsigned int layer (const DetId &id) const
unsigned int module (const DetId &id) const
std::string print (DetId detid) const
DetId pxbDetId (uint32_t layer, uint32_t ladder, uint32_t module) const
unsigned int pxbLadder (const DetId &id) const
unsigned int pxbLayer (const DetId &id) const
unsigned int pxbModule (const DetId &id) const
unsigned int pxfBlade (const DetId &id) const
DetId pxfDetId (uint32_t side, uint32_t disk, uint32_t blade, uint32_t panel, uint32_t module) const
unsigned int pxfDisk (const DetId &id) const
unsigned int pxfModule (const DetId &id) const
unsigned int pxfPanel (const DetId &id) const
unsigned int pxfSide (const DetId &id) const
DetId tecDetId (uint32_t side, uint32_t wheel, uint32_t petal_fw_bw, uint32_t petal, uint32_t ring, uint32_t module, uint32_t ster) const
uint32_t tecGlued (const DetId &id) const
bool tecIsBackPetal (const DetId &id) const
bool tecIsDoubleSide (const DetId &id) const
bool tecIsFrontPetal (const DetId &id) const
bool tecIsRPhi (const DetId &id) const
bool tecIsStereo (const DetId &id) const
bool tecIsZMinusSide (const DetId &id) const
bool tecIsZPlusSide (const DetId &id) const
unsigned int tecModule (const DetId &id) const
unsigned int tecOrder (const DetId &id) const
std::vector< unsigned int > tecPetalInfo (const DetId &id) const
unsigned int tecPetalNumber (const DetId &id) const
unsigned int tecRing (const DetId &id) const
 ring id
unsigned int tecSide (const DetId &id) const
uint32_t tecStereo (const DetId &id) const
unsigned int tecWheel (const DetId &id) const
DetId tibDetId (uint32_t layer, uint32_t str_fw_bw, uint32_t str_int_ext, uint32_t str, uint32_t module, uint32_t ster) const
uint32_t tibGlued (const DetId &id) const
bool tibIsDoubleSide (const DetId &id) const
bool tibIsExternalString (const DetId &id) const
bool tibIsInternalString (const DetId &id) const
bool tibIsRPhi (const DetId &id) const
bool tibIsStereo (const DetId &id) const
bool tibIsZMinusSide (const DetId &id) const
bool tibIsZPlusSide (const DetId &id) const
unsigned int tibLayer (const DetId &id) const
unsigned int tibModule (const DetId &id) const
unsigned int tibOrder (const DetId &id) const
unsigned int tibSide (const DetId &id) const
uint32_t tibStereo (const DetId &id) const
unsigned int tibString (const DetId &id) const
std::vector< unsigned int > tibStringInfo (const DetId &id) const
DetId tidDetId (uint32_t side, uint32_t wheel, uint32_t ring, uint32_t module_fw_bw, uint32_t module, uint32_t ster) const
uint32_t tidGlued (const DetId &id) const
bool tidIsBackRing (const DetId &id) const
bool tidIsDoubleSide (const DetId &id) const
bool tidIsFrontRing (const DetId &id) const
bool tidIsRPhi (const DetId &id) const
bool tidIsStereo (const DetId &id) const
bool tidIsZMinusSide (const DetId &id) const
bool tidIsZPlusSide (const DetId &id) const
unsigned int tidModule (const DetId &id) const
std::vector< unsigned int > tidModuleInfo (const DetId &id) const
unsigned int tidOrder (const DetId &id) const
unsigned int tidRing (const DetId &id) const
unsigned int tidSide (const DetId &id) const
uint32_t tidStereo (const DetId &id) const
unsigned int tidWheel (const DetId &id) const
DetId tobDetId (uint32_t layer, uint32_t rod_fw_bw, uint32_t rod, uint32_t module, uint32_t ster) const
uint32_t tobGlued (const DetId &id) const
bool tobIsDoubleSide (const DetId &id) const
bool tobIsRPhi (const DetId &id) const
bool tobIsStereo (const DetId &id) const
bool tobIsZMinusSide (const DetId &id) const
bool tobIsZPlusSide (const DetId &id) const
unsigned int tobLayer (const DetId &id) const
unsigned int tobModule (const DetId &id) const
unsigned int tobRod (const DetId &id) const
std::vector< unsigned int > tobRodInfo (const DetId &id) const
unsigned int tobSide (const DetId &id) const
uint32_t tobStereo (const DetId &id) const
 TrackerTopology (const PixelBarrelValues pxb, const PixelEndcapValues pxf, const TECValues tecv, const TIBValues tibv, const TIDValues tidv, const TOBValues tobv)

Private Attributes

PixelBarrelValues pbVals_
PixelEndcapValues pfVals_
TECValues tecVals_
TIBValues tibVals_
TIDValues tidVals_
TOBValues tobVals_

Detailed Description

Definition at line 18 of file TrackerTopology.h.


Constructor & Destructor Documentation

TrackerTopology::TrackerTopology ( const PixelBarrelValues  pxb,
const PixelEndcapValues  pxf,
const TECValues  tecv,
const TIBValues  tibv,
const TIDValues  tidv,
const TOBValues  tobv 
)

Definition at line 7 of file TrackerTopology.cc.

References pbVals_, pfVals_, tecVals_, tibVals_, tidVals_, and tobVals_.

                                                                              {
  pbVals_=pxb;
  pfVals_=pxf;
  tecVals_=tecv;
  tibVals_=tibv;
  tidVals_=tidv;
  tobVals_=tobv;
}

Member Function Documentation

unsigned int TrackerTopology::layer ( const DetId id) const

Definition at line 20 of file TrackerTopology.cc.

References Exception, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, pxbLayer(), pxfDisk(), StripSubdetector::TEC, tecWheel(), StripSubdetector::TIB, tibLayer(), StripSubdetector::TID, tidWheel(), StripSubdetector::TOB, and tobLayer().

                                                         {
  uint32_t subdet=id.subdetId();
  if ( subdet == PixelSubdetector::PixelBarrel )
    return pxbLayer(id);
  if ( subdet == PixelSubdetector::PixelEndcap )
    return pxfDisk(id);
  if ( subdet == StripSubdetector::TIB )
    return tibLayer(id);
  if ( subdet == StripSubdetector::TID )
    return tidWheel(id);
  if ( subdet == StripSubdetector::TOB )
    return tobLayer(id);
  if ( subdet == StripSubdetector::TEC )
    return tecWheel(id);

  throw cms::Exception("Invalid DetId") << "Unsupported DetId in TrackerTopology::layer";
  return 0;
}
unsigned int TrackerTopology::module ( const DetId id) const

Definition at line 39 of file TrackerTopology.cc.

References Exception, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, pxbModule(), pxfModule(), StripSubdetector::TEC, tecModule(), StripSubdetector::TIB, tibModule(), StripSubdetector::TID, tidModule(), StripSubdetector::TOB, and tobModule().

                                                          {
  uint32_t subdet=id.subdetId();
  if ( subdet == PixelSubdetector::PixelBarrel )
    return pxbModule(id);
  if ( subdet == PixelSubdetector::PixelEndcap )
    return pxfModule(id);
  if ( subdet == StripSubdetector::TIB )
    return tibModule(id);
  if ( subdet == StripSubdetector::TID )
    return tidModule(id);
  if ( subdet == StripSubdetector::TOB )
    return tobModule(id);
  if ( subdet == StripSubdetector::TEC )
    return tecModule(id);

  throw cms::Exception("Invalid DetId") << "Unsupported DetId in TrackerTopology::module";
  return 0;
}
std::string TrackerTopology::print ( DetId  detid) const

Definition at line 58 of file TrackerTopology.cc.

References Exception, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, pxbLadder(), pxbLayer(), pxbModule(), pxfBlade(), pxfDisk(), pxfModule(), pxfPanel(), AlCaHLTBitMon_QueryRunRegistry::string, StripSubdetector::TEC, tecGlued(), tecIsDoubleSide(), tecModule(), tecPetalInfo(), tecRing(), tecSide(), tecStereo(), tecWheel(), StripSubdetector::TIB, tibGlued(), tibIsDoubleSide(), tibLayer(), tibModule(), tibStereo(), tibStringInfo(), StripSubdetector::TID, tidGlued(), tidIsDoubleSide(), tidModuleInfo(), tidRing(), tidSide(), tidStereo(), tidWheel(), StripSubdetector::TOB, tobGlued(), tobIsDoubleSide(), tobLayer(), tobModule(), tobRodInfo(), and tobStereo().

                                               {
  uint32_t subdet=id.subdetId();
  std::stringstream strstr;

  if ( subdet == PixelSubdetector::PixelBarrel ) {
    strstr  << "(PixelBarrel " 
            << pxbLayer(id) << ',' 
            << pxbLadder(id) << ',' 
            << pxbModule(id) << ')'; 
    return strstr.str();
  }

  if ( subdet == PixelSubdetector::PixelEndcap ) {
    strstr << "(PixelEndcap " 
           << pxfDisk(id) << ',' 
           << pxfBlade(id)  << ',' 
           << pxfPanel(id)  << ',' 
           << pxfModule(id)   << ')'; 
    return strstr.str();
  }

  if ( subdet == StripSubdetector::TIB ) {
    unsigned int              theLayer  = tibLayer(id);
    std::vector<unsigned int> theString = tibStringInfo(id);
    unsigned int              theModule = tibModule(id);
    std::string side;
    std::string part;
    side = (theString[0] == 1 ) ? "-" : "+";
    part = (theString[1] == 1 ) ? "int" : "ext";
    std::string type;
    type = (tibStereo(id) == 0) ? "r-phi" : "stereo";
    type = (tibGlued(id) == 0) ? type : type+" glued";
    type = (tibIsDoubleSide(id)) ? "double side" : type;
    strstr << "TIB" << side
           << " Layer " << theLayer << " " << part
           << " String " << theString[2]
           << " Module " << theModule << " " << type
           << " (" << id.rawId() << ")";
    return strstr.str();
  }

  if ( subdet == StripSubdetector::TID ) {
    unsigned int         theDisk   = tidWheel(id);
    unsigned int         theRing   = tidRing(id);
    std::vector<unsigned int> theModule = tidModuleInfo(id);
    std::string side;
    std::string part;
    side = (tidSide(id) == 1 ) ? "-" : "+";
    part = (theModule[0] == 1 ) ? "back" : "front";
    std::string type;
    type = (tidStereo(id) == 0) ? "r-phi" : "stereo";
    type = (tidGlued(id) == 0) ? type : type+" glued";
    type = (tidIsDoubleSide(id)) ? "double side" : type;
    strstr << "TID" << side
           << " Disk " << theDisk
           << " Ring " << theRing << " " << part
           << " Module " << theModule[1] << " " << type
           << " (" << id.rawId() << ")";
    return strstr.str();
  }

  if ( subdet == StripSubdetector::TOB ) {
    unsigned int              theLayer  = tobLayer(id);
    std::vector<unsigned int> theRod    = tobRodInfo(id);
    unsigned int              theModule = tobModule(id);
    std::string side;
    std::string part;
    side = (theRod[0] == 1 ) ? "-" : "+";
    std::string type;
    type = (tobStereo(id) == 0) ? "r-phi" : "stereo";
    type = (tobGlued(id) == 0) ? type : type+" glued";
    type = (tobIsDoubleSide(id)) ? "double side" : type;
    strstr << "TOB" << side
           << " Layer " << theLayer
           << " Rod " << theRod[1]
           << " Module " << theModule << " " << type
           << " (" << id.rawId() << ")";
    return strstr.str();
  }

  if ( subdet == StripSubdetector::TEC ) {
    unsigned int              theWheel  = tecWheel(id);
    unsigned int              theModule = tecModule(id);
    std::vector<unsigned int> thePetal  = tecPetalInfo(id);
    unsigned int              theRing   = tecRing(id);
    std::string side;
    std::string petal;
    side  = (tecSide(id) == 1 ) ? "-" : "+";
    petal = (thePetal[0] == 1 ) ? "back" : "front";
    std::string type;
    type = (tecStereo(id) == 0) ? "r-phi" : "stereo";
    type = (tecGlued(id) == 0) ? type : type+" glued";
    type = (tecIsDoubleSide(id)) ? "double side" : type;
    strstr << "TEC" << side
           << " Wheel " << theWheel
           << " Petal " << thePetal[1] << " " << petal
           << " Ring " << theRing
           << " Module " << theModule << " " << type
           << " (" << id.rawId() << ")";

    return strstr.str();
  }


  throw cms::Exception("Invalid DetId") << "Unsupported DetId in TrackerTopology::module";
  return strstr.str();
}
DetId TrackerTopology::pxbDetId ( uint32_t  layer,
uint32_t  ladder,
uint32_t  module 
) const [inline]
unsigned int TrackerTopology::pxbLadder ( const DetId id) const [inline]
unsigned int TrackerTopology::pxbLayer ( const DetId id) const [inline]
unsigned int TrackerTopology::pxbModule ( const DetId id) const [inline]
unsigned int TrackerTopology::pxfBlade ( const DetId id) const [inline]
DetId TrackerTopology::pxfDetId ( uint32_t  side,
uint32_t  disk,
uint32_t  blade,
uint32_t  panel,
uint32_t  module 
) const [inline]
unsigned int TrackerTopology::pxfDisk ( const DetId id) const [inline]
unsigned int TrackerTopology::pxfModule ( const DetId id) const [inline]
unsigned int TrackerTopology::pxfPanel ( const DetId id) const [inline]
unsigned int TrackerTopology::pxfSide ( const DetId id) const [inline]
DetId TrackerTopology::tecDetId ( uint32_t  side,
uint32_t  wheel,
uint32_t  petal_fw_bw,
uint32_t  petal,
uint32_t  ring,
uint32_t  module,
uint32_t  ster 
) const [inline]
uint32_t TrackerTopology::tecGlued ( const DetId id) const [inline]

Definition at line 278 of file TrackerTopology.h.

References TrackerTopology::TECValues::sterMask_, TrackerTopology::TECValues::sterStartBit_, and tecVals_.

Referenced by print().

                                           {
    if ( ((id.rawId()>>tecVals_.sterStartBit_) & tecVals_.sterMask_ ) == 1 ) {
      return ( id.rawId() - 1 );
    } else if ( ((id.rawId()>>tecVals_.sterStartBit_) & tecVals_.sterMask_ ) == 2 ) {
      return ( id.rawId() - 2 );
    } else { return 0; }
  }
bool TrackerTopology::tecIsBackPetal ( const DetId id) const [inline]

Definition at line 316 of file TrackerTopology.h.

References tecOrder().

Referenced by tecIsFrontPetal().

                                             {
    return (tecOrder(id)==1);
  }
bool TrackerTopology::tecIsDoubleSide ( const DetId id) const [inline]

Definition at line 223 of file TrackerTopology.h.

References SiStripDetId::glued(), and tecRing().

Referenced by print(), tecIsRPhi(), and tecIsStereo().

{ return SiStripDetId(id).glued()==0 && (tecRing(id)==1 || tecRing(id)==2 || tecRing(id)==5);}
bool TrackerTopology::tecIsFrontPetal ( const DetId id) const [inline]

Definition at line 320 of file TrackerTopology.h.

References tecIsBackPetal().

{return !tecIsBackPetal(id);}
bool TrackerTopology::tecIsRPhi ( const DetId id) const [inline]

Definition at line 303 of file TrackerTopology.h.

References SiStripDetId::stereo(), and tecIsDoubleSide().

{ return SiStripDetId(id).stereo()==0 && !tecIsDoubleSide(id);}
bool TrackerTopology::tecIsStereo ( const DetId id) const [inline]

Definition at line 241 of file TrackerTopology.h.

References tecIsDoubleSide(), and tecStereo().

{return tecStereo(id)!=0 && !tecIsDoubleSide(id);}
bool TrackerTopology::tecIsZMinusSide ( const DetId id) const [inline]

Definition at line 237 of file TrackerTopology.h.

References tecSide().

Referenced by tecIsZPlusSide().

{ return tecSide(id)==1;}
bool TrackerTopology::tecIsZPlusSide ( const DetId id) const [inline]

Definition at line 236 of file TrackerTopology.h.

References tecIsZMinusSide().

{return !tecIsZMinusSide(id);}
unsigned int TrackerTopology::tecModule ( const DetId id) const [inline]
unsigned int TrackerTopology::tecOrder ( const DetId id) const [inline]
std::vector<unsigned int> TrackerTopology::tecPetalInfo ( const DetId id) const [inline]

Definition at line 309 of file TrackerTopology.h.

References tecOrder(), and tecPetalNumber().

Referenced by print().

                                                              {
    std::vector<unsigned int> num;
    num.push_back(tecOrder(id));
    num.push_back(tecPetalNumber(id));
    return num ;
  }
unsigned int TrackerTopology::tecPetalNumber ( const DetId id) const [inline]
unsigned int TrackerTopology::tecRing ( const DetId id) const [inline]

ring id

Definition at line 199 of file TrackerTopology.h.

References TrackerTopology::TECValues::ringMask_, TrackerTopology::TECValues::ringStartBit_, and tecVals_.

Referenced by print(), and tecIsDoubleSide().

                                              { 
    return ((id.rawId()>>tecVals_.ringStartBit_) & tecVals_.ringMask_) ;
  }
unsigned int TrackerTopology::tecSide ( const DetId id) const [inline]
uint32_t TrackerTopology::tecStereo ( const DetId id) const [inline]

Definition at line 264 of file TrackerTopology.h.

References TrackerTopology::TECValues::sterMask_, TrackerTopology::TECValues::sterStartBit_, and tecVals_.

Referenced by print(), and tecIsStereo().

                                            {
    if ( ((id.rawId() >>tecVals_.sterStartBit_ ) & tecVals_.sterMask_ ) == 1 ) {
      return ( (id.rawId()>>tecVals_.sterStartBit_) & tecVals_.sterMask_ );
    } else { return 0; }
  }
unsigned int TrackerTopology::tecWheel ( const DetId id) const [inline]

Definition at line 179 of file TrackerTopology.h.

References tecVals_, TrackerTopology::TECValues::wheelMask_, and TrackerTopology::TECValues::wheelStartBit_.

Referenced by layer(), and print().

                                               { 
    return ((id.rawId()>>tecVals_.wheelStartBit_) & tecVals_.wheelMask_) ;
  }
DetId TrackerTopology::tibDetId ( uint32_t  layer,
uint32_t  str_fw_bw,
uint32_t  str_int_ext,
uint32_t  str,
uint32_t  module,
uint32_t  ster 
) const [inline]
uint32_t TrackerTopology::tibGlued ( const DetId id) const [inline]

Definition at line 270 of file TrackerTopology.h.

References TrackerTopology::TIBValues::sterMask_, TrackerTopology::TIBValues::sterStartBit_, and tibVals_.

Referenced by print().

                                           {
    if ( ((id.rawId()>>tibVals_.sterStartBit_) & tibVals_.sterMask_ ) == 1 ) {
      return ( id.rawId() - 1 );
    } else if ( ((id.rawId()>>tibVals_.sterStartBit_) & tibVals_.sterMask_ ) == 2 ) {
      return ( id.rawId() - 2 );
    } else { return 0; }
  }
bool TrackerTopology::tibIsDoubleSide ( const DetId id) const [inline]

Definition at line 224 of file TrackerTopology.h.

References SiStripDetId::glued(), and tibLayer().

Referenced by print(), tibIsRPhi(), and tibIsStereo().

{ return SiStripDetId(id).glued()==0 && (tibLayer(id)==1 || tibLayer(id)==2);}
bool TrackerTopology::tibIsExternalString ( const DetId id) const [inline]

Definition at line 339 of file TrackerTopology.h.

References tibIsInternalString().

                                                  {
    return !tibIsInternalString(id);
  }
bool TrackerTopology::tibIsInternalString ( const DetId id) const [inline]

Definition at line 335 of file TrackerTopology.h.

References tibOrder().

Referenced by tibIsExternalString().

                                                  {
    return (tibOrder(id)==1);
  }
bool TrackerTopology::tibIsRPhi ( const DetId id) const [inline]

Definition at line 304 of file TrackerTopology.h.

References SiStripDetId::stereo(), and tibIsDoubleSide().

{ return SiStripDetId(id).stereo()==0 && !tibIsDoubleSide(id);}
bool TrackerTopology::tibIsStereo ( const DetId id) const [inline]

Definition at line 242 of file TrackerTopology.h.

References tibIsDoubleSide(), and tibStereo().

{return tibStereo(id)!=0 && !tibIsDoubleSide(id);}
bool TrackerTopology::tibIsZMinusSide ( const DetId id) const [inline]

Definition at line 231 of file TrackerTopology.h.

References tibSide().

Referenced by tibIsZPlusSide().

{ return tibSide(id)==1;}
bool TrackerTopology::tibIsZPlusSide ( const DetId id) const [inline]

Definition at line 230 of file TrackerTopology.h.

References tibIsZMinusSide().

{return !tibIsZMinusSide(id);}
unsigned int TrackerTopology::tibLayer ( const DetId id) const [inline]
unsigned int TrackerTopology::tibModule ( const DetId id) const [inline]
unsigned int TrackerTopology::tibOrder ( const DetId id) const [inline]
unsigned int TrackerTopology::tibSide ( const DetId id) const [inline]
uint32_t TrackerTopology::tibStereo ( const DetId id) const [inline]

Definition at line 252 of file TrackerTopology.h.

References TrackerTopology::TIBValues::sterMask_, TrackerTopology::TIBValues::sterStartBit_, and tibVals_.

Referenced by print(), and tibIsStereo().

                                            {
    if ( ((id.rawId() >>tibVals_.sterStartBit_ ) & tibVals_.sterMask_ ) == 1 ) {
      return ( (id.rawId()>>tibVals_.sterStartBit_) & tibVals_.sterMask_ );
    } else { return 0; }
  }
unsigned int TrackerTopology::tibString ( const DetId id) const [inline]
std::vector<unsigned int> TrackerTopology::tibStringInfo ( const DetId id) const [inline]

Definition at line 327 of file TrackerTopology.h.

References tibOrder(), tibSide(), and tibString().

Referenced by print().

    { std::vector<unsigned int> num;
      num.push_back( tibSide(id) );
      num.push_back( tibOrder(id) );
      num.push_back(tibString(id));
      return num ;
    }
DetId TrackerTopology::tidDetId ( uint32_t  side,
uint32_t  wheel,
uint32_t  ring,
uint32_t  module_fw_bw,
uint32_t  module,
uint32_t  ster 
) const [inline]
uint32_t TrackerTopology::tidGlued ( const DetId id) const [inline]

Definition at line 294 of file TrackerTopology.h.

References TrackerTopology::TIDValues::sterMask_, TrackerTopology::TIDValues::sterStartBit_, and tidVals_.

Referenced by print().

                                           {
    if ( ((id.rawId()>>tidVals_.sterStartBit_) & tidVals_.sterMask_ ) == 1 ) {
      return ( id.rawId() - 1 );
    } else if ( ((id.rawId()>>tidVals_.sterStartBit_) & tidVals_.sterMask_ ) == 2 ) {
      return ( id.rawId() - 2 );
    } else { return 0; }
  }
bool TrackerTopology::tidIsBackRing ( const DetId id) const [inline]

Definition at line 351 of file TrackerTopology.h.

References tidOrder().

Referenced by tidIsFrontRing().

                                            {
    return (tidOrder(id)==1);
  }
bool TrackerTopology::tidIsDoubleSide ( const DetId id) const [inline]

Definition at line 225 of file TrackerTopology.h.

References SiStripDetId::glued(), and tidRing().

Referenced by print(), tidIsRPhi(), and tidIsStereo().

{ return SiStripDetId(id).glued()==0 && (tidRing(id)==1 || tidRing(id)==2);}
bool TrackerTopology::tidIsFrontRing ( const DetId id) const [inline]

Definition at line 355 of file TrackerTopology.h.

References tidIsBackRing().

{return !tidIsBackRing(id);}
bool TrackerTopology::tidIsRPhi ( const DetId id) const [inline]

Definition at line 305 of file TrackerTopology.h.

References SiStripDetId::stereo(), and tidIsDoubleSide().

{ return SiStripDetId(id).stereo()==0 && !tidIsDoubleSide(id);}
bool TrackerTopology::tidIsStereo ( const DetId id) const [inline]

Definition at line 243 of file TrackerTopology.h.

References tidIsDoubleSide(), and tidStereo().

{return tidStereo(id)!=0 && !tidIsDoubleSide(id);}
bool TrackerTopology::tidIsZMinusSide ( const DetId id) const [inline]

Definition at line 234 of file TrackerTopology.h.

References tidSide().

Referenced by tidIsZPlusSide().

{ return tidSide(id)==1;}
bool TrackerTopology::tidIsZPlusSide ( const DetId id) const [inline]

Definition at line 233 of file TrackerTopology.h.

References tidIsZMinusSide().

{return !tidIsZMinusSide(id);}
unsigned int TrackerTopology::tidModule ( const DetId id) const [inline]
std::vector<unsigned int> TrackerTopology::tidModuleInfo ( const DetId id) const [inline]

Definition at line 344 of file TrackerTopology.h.

References tidModule(), and tidOrder().

Referenced by print().

                                                               {
    std::vector<unsigned int> num;
    num.push_back( tidOrder(id) );
    num.push_back( tidModule(id) );
    return num ;
  }
unsigned int TrackerTopology::tidOrder ( const DetId id) const [inline]
unsigned int TrackerTopology::tidRing ( const DetId id) const [inline]
unsigned int TrackerTopology::tidSide ( const DetId id) const [inline]
uint32_t TrackerTopology::tidStereo ( const DetId id) const [inline]

Definition at line 258 of file TrackerTopology.h.

References TrackerTopology::TIDValues::sterMask_, TrackerTopology::TIDValues::sterStartBit_, and tidVals_.

Referenced by print(), and tidIsStereo().

                                            {
    if ( ((id.rawId() >>tidVals_.sterStartBit_ ) & tidVals_.sterMask_ ) == 1 ) {
      return ( (id.rawId()>>tidVals_.sterStartBit_) & tidVals_.sterMask_ );
    } else { return 0; }
  }
unsigned int TrackerTopology::tidWheel ( const DetId id) const [inline]

Definition at line 182 of file TrackerTopology.h.

References tidVals_, TrackerTopology::TIDValues::wheelMask_, and TrackerTopology::TIDValues::wheelStartBit_.

Referenced by layer(), and print().

                                               { 
    return ((id.rawId()>>tidVals_.wheelStartBit_) & tidVals_.wheelMask_) ;
  }
DetId TrackerTopology::tobDetId ( uint32_t  layer,
uint32_t  rod_fw_bw,
uint32_t  rod,
uint32_t  module,
uint32_t  ster 
) const [inline]
uint32_t TrackerTopology::tobGlued ( const DetId id) const [inline]

Definition at line 286 of file TrackerTopology.h.

References TrackerTopology::TOBValues::sterMask_, TrackerTopology::TOBValues::sterStartBit_, and tobVals_.

Referenced by print().

                                           {
    if ( ((id.rawId()>>tobVals_.sterStartBit_) & tobVals_.sterMask_ ) == 1 ) {
      return ( id.rawId() - 1 );
    } else if ( ((id.rawId()>>tobVals_.sterStartBit_) & tobVals_.sterMask_ ) == 2 ) {
      return ( id.rawId() - 2 );
    } else { return 0; }
  }
bool TrackerTopology::tobIsDoubleSide ( const DetId id) const [inline]

Definition at line 222 of file TrackerTopology.h.

References SiStripDetId::glued(), and tobLayer().

Referenced by print(), tobIsRPhi(), and tobIsStereo().

{ return SiStripDetId(id).glued()==0 && (tobLayer(id)==1 || tobLayer(id)==2);}
bool TrackerTopology::tobIsRPhi ( const DetId id) const [inline]

Definition at line 302 of file TrackerTopology.h.

References SiStripDetId::stereo(), and tobIsDoubleSide().

{ return SiStripDetId(id).stereo()==0 && !tobIsDoubleSide(id);}
bool TrackerTopology::tobIsStereo ( const DetId id) const [inline]

Definition at line 240 of file TrackerTopology.h.

References tobIsDoubleSide(), and tobStereo().

{return tobStereo(id)!=0 && !tobIsDoubleSide(id);}
bool TrackerTopology::tobIsZMinusSide ( const DetId id) const [inline]

Definition at line 228 of file TrackerTopology.h.

References tobSide().

Referenced by tobIsZPlusSide().

{ return tobSide(id)==1;}
bool TrackerTopology::tobIsZPlusSide ( const DetId id) const [inline]

Definition at line 227 of file TrackerTopology.h.

References tobIsZMinusSide().

{return !tobIsZMinusSide(id);}
unsigned int TrackerTopology::tobLayer ( const DetId id) const [inline]
unsigned int TrackerTopology::tobModule ( const DetId id) const [inline]
unsigned int TrackerTopology::tobRod ( const DetId id) const [inline]

Definition at line 174 of file TrackerTopology.h.

References TrackerTopology::TOBValues::rodMask_, TrackerTopology::TOBValues::rodStartBit_, and tobVals_.

Referenced by tobRodInfo().

                                             {
    return  ((id.rawId()>>tobVals_.rodStartBit_) & tobVals_.rodMask_);
  }
std::vector<unsigned int> TrackerTopology::tobRodInfo ( const DetId id) const [inline]

Definition at line 215 of file TrackerTopology.h.

References tobRod(), and tobSide().

Referenced by print().

                                                            {
    std::vector<unsigned int> num;
    num.push_back( tobSide(id) );
    num.push_back( tobRod(id) );
    return num ;
  }
unsigned int TrackerTopology::tobSide ( const DetId id) const [inline]
uint32_t TrackerTopology::tobStereo ( const DetId id) const [inline]

Definition at line 246 of file TrackerTopology.h.

References TrackerTopology::TOBValues::sterMask_, TrackerTopology::TOBValues::sterStartBit_, and tobVals_.

Referenced by print(), and tobIsStereo().

                                            {
    if ( ((id.rawId() >>tobVals_.sterStartBit_ ) & tobVals_.sterMask_ ) == 1 ) {
      return ( (id.rawId()>>tobVals_.sterStartBit_) & tobVals_.sterMask_ );
    } else { return 0; }
  }

Member Data Documentation

Definition at line 467 of file TrackerTopology.h.

Referenced by pxbDetId(), pxbLadder(), pxbLayer(), pxbModule(), and TrackerTopology().