CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

CSCStripHit Class Reference

#include <CSCStripHit.h>

List of all members.

Public Types

typedef std::vector< int > ChannelContainer
typedef std::vector< float > StripHitADCContainer

Public Member Functions

CSCStripHitclone () const
 Required for storage in RangeMap.
int closestMaximum () const
 Number of strips to the closest other maximum.
CSCDetId cscDetId () const
 Strip Hit is in this DetId.
 CSCStripHit (const CSCDetId &id, const float &sHitPos, const int &tmax, const ChannelContainer &strips, const StripHitADCContainer &s_adc, const StripHitADCContainer &s_adcRaw, const int &numberOfConsecutiveStrips, const int &closestMaximum, const short int &deadStrip)
 CSCStripHit ()
short int deadStrip () const
 is a neighbouring string a dead strip?
int numberOfConsecutiveStrips () const
 Number of consecutive strips with charge.
void print () const
 Print content of the striphit including L1A.
const StripHitADCContainers_adc () const
 L1A.
const StripHitADCContainers_adcRaw () const
 the raw ADC counts for each of the strip within cluster
float sHitPos () const
 Strip hit position (centroid)
const ChannelContainerstrips () const
 L1A.
const ChannelContainerstripsl1a () const
 L1A.
const ChannelContainerstripsTotal () const
 The strips used in cluster to produce strip hit (total content)
int tmax () const
 Strip hit maximum time bin.
 ~CSCStripHit ()

Private Attributes

int theClosestMaximum
int theConsecutiveStrips
short int theDeadStrip
CSCDetId theDetId
StripHitADCContainer theStripHitADCs
 L1A.
float theStripHitPosition
StripHitADCContainer theStripHitRawADCs
int theStripHitTmax
ChannelContainer theStrips
ChannelContainer theStripsHighBits
 L1A.
ChannelContainer theStripsLowBits

Detailed Description

A (1-dim) hit reconstructed from strip data alone

Definition at line 16 of file CSCStripHit.h.


Member Typedef Documentation

typedef std::vector<int> CSCStripHit::ChannelContainer

Definition at line 22 of file CSCStripHit.h.

typedef std::vector<float> CSCStripHit::StripHitADCContainer

Definition at line 21 of file CSCStripHit.h.


Constructor & Destructor Documentation

CSCStripHit::CSCStripHit ( )

Extract the lower byte for strip number

Extract the middle byte for L1A phase

Definition at line 4 of file CSCStripHit.cc.

References i, theStrips, theStripsHighBits, and theStripsLowBits.

Referenced by clone().

                         :
  theDetId(),
  theStripHitPosition(),
  theStripHitTmax(),     
  theStrips(),
  theStripHitADCs(),
  theStripHitRawADCs(),
  theConsecutiveStrips(),
  theClosestMaximum(),
  theDeadStrip()
{

theStripsLowBits.clear();
for(int i=0; i<(int)theStrips.size(); i++){
        theStripsLowBits.push_back(theStrips[i] & 0x000000FF);
        }
theStripsHighBits.clear();
for(int i=0; i<(int)theStrips.size(); i++){
        theStripsHighBits.push_back(theStrips[i] & 0x0000FF00);
        }
        
}
CSCStripHit::CSCStripHit ( const CSCDetId id,
const float &  sHitPos,
const int &  tmax,
const ChannelContainer strips,
const StripHitADCContainer s_adc,
const StripHitADCContainer s_adcRaw,
const int &  numberOfConsecutiveStrips,
const int &  closestMaximum,
const short int &  deadStrip 
)

Extract the 2 lowest bytes for strip number

Extract the 2 highest bytes for L1A phase

Definition at line 29 of file CSCStripHit.cc.

References i, theStrips, theStripsHighBits, and theStripsLowBits.

CSCStripHit::~CSCStripHit ( )

Definition at line 62 of file CSCStripHit.cc.

{}

Member Function Documentation

CSCStripHit* CSCStripHit::clone ( void  ) const [inline]

Required for storage in RangeMap.

Definition at line 38 of file CSCStripHit.h.

References CSCStripHit().

{ return new CSCStripHit( *this ); }
int CSCStripHit::closestMaximum ( ) const [inline]

Number of strips to the closest other maximum.

Definition at line 68 of file CSCStripHit.h.

References theClosestMaximum.

Referenced by CSCXonStrip_MatchGatti::findXOnStrip().

{ return theClosestMaximum; }
CSCDetId CSCStripHit::cscDetId ( ) const [inline]

Strip Hit is in this DetId.

Definition at line 41 of file CSCStripHit.h.

References theDetId.

Referenced by print().

{ return theDetId; }
short int CSCStripHit::deadStrip ( ) const [inline]

is a neighbouring string a dead strip?

Definition at line 71 of file CSCStripHit.h.

References theDeadStrip.

Referenced by CSCXonStrip_MatchGatti::findXOnStrip(), and CSCMake2DRecHit::hitFromStripAndWire().

{return theDeadStrip; };
int CSCStripHit::numberOfConsecutiveStrips ( ) const [inline]

Number of consecutive strips with charge.

Definition at line 65 of file CSCStripHit.h.

References theConsecutiveStrips.

Referenced by CSCXonStrip_MatchGatti::findXOnStrip().

void CSCStripHit::print ( void  ) const

Print content of the striphit including L1A.

Debug.

L1A

Definition at line 67 of file CSCStripHit.cc.

References gather_cfg::cout, cscDetId(), i, gen::k, s_adc(), s_adcRaw(), sHitPos(), strips(), stripsl1a(), and tmax().

                         {
  std::cout << "CSCStripHit in CSC Detector: " << std::dec << cscDetId() << std::endl;
  std::cout << "  sHitPos: " << sHitPos() << std::endl;
  std::cout << "  TMAX: " << tmax() << std::endl;
  std::cout << "  STRIPS: ";
  for (int i=0; i<(int)strips().size(); i++) {std::cout << std::dec << strips()[i] 
       << " (" << "HEX: " << std::hex << strips()[i] << ")" << " ";}
  std::cout << std::endl;

  std::cout << "  L1APhase: ";
  for (int i=0; i<(int)stripsl1a().size(); i++) {
       //uint16_t L1ABitSet=(strips()[i] & 0xFF00);
       //std::cout << std::hex << (stripsl1a()[i] >> 15)<< " ";
       
       std::cout << "|";
       for (int k=0; k<8 ; k++){ 
       std::cout << ((stripsl1a()[i] >> (15-k)) & 0x1) << " ";}
       std::cout << "| ";       
       }           
  std::cout << std::endl;
  
  std::cout << "  S_ADC: ";
  for (int i=0; i<(float)s_adc().size(); i++) {std::cout << s_adc()[i] << " ";}
  std::cout << std::endl;
  std::cout << "  S_ADC_RAW: ";
  for (int i=0; i<(float)s_adcRaw().size(); i++) {std::cout << s_adcRaw()[i] << " ";}
  std::cout << std::endl;
}
const StripHitADCContainer& CSCStripHit::s_adc ( ) const [inline]

L1A.

the ADC counts for each of the strip within cluster

Definition at line 59 of file CSCStripHit.h.

References theStripHitADCs.

Referenced by CSCXonStrip_MatchGatti::findXOnStrip(), CSCMake2DRecHit::hitFromStripAndWire(), and print().

{ return theStripHitADCs; }
const StripHitADCContainer& CSCStripHit::s_adcRaw ( ) const [inline]

the raw ADC counts for each of the strip within cluster

Definition at line 62 of file CSCStripHit.h.

References theStripHitRawADCs.

Referenced by CSCMake2DRecHit::hitFromStripAndWire(), and print().

{ return theStripHitRawADCs; }
float CSCStripHit::sHitPos ( ) const [inline]

Strip hit position (centroid)

Definition at line 44 of file CSCStripHit.h.

References theStripHitPosition.

Referenced by print().

{ return theStripHitPosition; }
const ChannelContainer& CSCStripHit::strips ( ) const [inline]

L1A.

The strips used in cluster to produce strip hit

Definition at line 53 of file CSCStripHit.h.

References theStripsLowBits.

Referenced by CSCXonStrip_MatchGatti::findXOnStrip(), CSCMake2DRecHit::hitFromStripAndWire(), and print().

{return theStripsLowBits;} 
const ChannelContainer& CSCStripHit::stripsl1a ( ) const [inline]

L1A.

The L1A phase in strips used to produce strip hit

Definition at line 56 of file CSCStripHit.h.

References theStripsHighBits.

Referenced by CSCMake2DRecHit::hitFromStripAndWire(), and print().

const ChannelContainer& CSCStripHit::stripsTotal ( ) const [inline]

The strips used in cluster to produce strip hit (total content)

Definition at line 50 of file CSCStripHit.h.

References theStrips.

Referenced by CSCMake2DRecHit::hitFromStripAndWire().

{return theStrips;} 
int CSCStripHit::tmax ( ) const [inline]

Strip hit maximum time bin.

Definition at line 47 of file CSCStripHit.h.

References theStripHitTmax.

Referenced by CSCXonStrip_MatchGatti::findXOnStrip(), CSCMake2DRecHit::hitFromStripAndWire(), and print().

{ return theStripHitTmax; }

Member Data Documentation

Definition at line 87 of file CSCStripHit.h.

Referenced by closestMaximum().

Definition at line 86 of file CSCStripHit.h.

Referenced by numberOfConsecutiveStrips().

short int CSCStripHit::theDeadStrip [private]

Definition at line 88 of file CSCStripHit.h.

Referenced by deadStrip().

Definition at line 78 of file CSCStripHit.h.

Referenced by cscDetId().

L1A.

Definition at line 84 of file CSCStripHit.h.

Referenced by s_adc().

Definition at line 79 of file CSCStripHit.h.

Referenced by sHitPos().

Definition at line 85 of file CSCStripHit.h.

Referenced by s_adcRaw().

Definition at line 80 of file CSCStripHit.h.

Referenced by tmax().

Definition at line 81 of file CSCStripHit.h.

Referenced by CSCStripHit(), and stripsTotal().

L1A.

Definition at line 83 of file CSCStripHit.h.

Referenced by CSCStripHit(), and stripsl1a().

Definition at line 82 of file CSCStripHit.h.

Referenced by CSCStripHit(), and strips().