CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes | Static Public Attributes
reco::PatternSet< N > Struct Template Reference

#include <HitPattern.h>

Public Member Functions

unsigned char const * begin () const
 
unsigned char * begin ()
 
unsigned char const * end () const
 
unsigned char * end ()
 
void fill (HitPattern::HitCategory category, HitPattern const &hp)
 
unsigned char operator[] (int i) const
 
 PatternSet ()
 
 PatternSet (HitPattern::HitCategory category, HitPattern const &hp)
 
int size () const
 

Public Attributes

unsigned char hit [N]
 
unsigned char nhit
 

Static Public Attributes

static constexpr int MaxHits = N
 

Detailed Description

template<int N = HitPattern::MaxHits>
struct reco::PatternSet< N >

Definition at line 1081 of file HitPattern.h.

Constructor & Destructor Documentation

template<int N = HitPattern::MaxHits>
reco::PatternSet< N >::PatternSet ( )
inline

Definition at line 1116 of file HitPattern.h.

1116 : nhit(0) {}
unsigned char nhit
Definition: HitPattern.h:1084
template<int N = HitPattern::MaxHits>
reco::PatternSet< N >::PatternSet ( HitPattern::HitCategory  category,
HitPattern const &  hp 
)
inline

Definition at line 1118 of file HitPattern.h.

References reco::PatternSet< N >::fill().

1119  {
1120  fill(category, hp);
1121  }
susybsm::HSCParticleRefProd hp
Definition: classes.h:27
void fill(HitPattern::HitCategory category, HitPattern const &hp)
Definition: HitPattern.h:1123

Member Function Documentation

template<int N = HitPattern::MaxHits>
unsigned char const* reco::PatternSet< N >::begin ( void  ) const
inline

Definition at line 1086 of file HitPattern.h.

References reco::PatternSet< N >::hit.

Referenced by reco::commonHits().

1087  {
1088  return hit;
1089  }
unsigned char hit[N]
Definition: HitPattern.h:1083
template<int N = HitPattern::MaxHits>
unsigned char* reco::PatternSet< N >::begin ( void  )
inline

Definition at line 1096 of file HitPattern.h.

References reco::PatternSet< N >::hit.

1097  {
1098  return hit;
1099  }
unsigned char hit[N]
Definition: HitPattern.h:1083
template<int N = HitPattern::MaxHits>
unsigned char const* reco::PatternSet< N >::end ( void  ) const
inline

Definition at line 1091 of file HitPattern.h.

References reco::PatternSet< N >::nhit.

Referenced by reco::commonHits(), Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

1092  {
1093  return hit + nhit;
1094  }
unsigned char nhit
Definition: HitPattern.h:1084
template<int N = HitPattern::MaxHits>
unsigned char* reco::PatternSet< N >::end ( void  )
inline

Definition at line 1101 of file HitPattern.h.

References reco::PatternSet< N >::nhit.

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

1102  {
1103  return hit + nhit;
1104  }
unsigned char nhit
Definition: HitPattern.h:1084
template<int N = HitPattern::MaxHits>
void reco::PatternSet< N >::fill ( HitPattern::HitCategory  category,
HitPattern const &  hp 
)
inline

Definition at line 1123 of file HitPattern.h.

References reco::HitPattern::call(), h, reco::PatternSet< N >::hit, reco::PatternSet< N >::MaxHits, reco::PatternSet< N >::nhit, AlCaHLTBitMon_ParallelJobs::p, listBenchmarks::pattern, timeUnitHelper::unpack(), and reco::HitPattern::validHitFilter().

Referenced by reco::PatternSet< N >::PatternSet().

1124  {
1125  int lhit = 0;
1126  auto unpack = [&lhit, this](uint16_t pattern) -> bool {
1127  unsigned char p = 255 & (pattern >> 3);
1128  hit[lhit++] = p;
1129 
1130  // bouble sort
1131  if (lhit > 1) {
1132  for (auto h = hit + lhit - 1; h != hit; --h) {
1133  if ((*(h - 1)) <= p) {
1134  break;
1135  }
1136  (*h) = *(h - 1);
1137  *(h - 1) = p;
1138  }
1139  }
1140  return lhit < MaxHits;
1141  };
1142 
1144  nhit = lhit;
1145  }
unsigned char nhit
Definition: HitPattern.h:1084
static bool validHitFilter(uint16_t pattern)
Definition: HitPattern.h:701
static constexpr int MaxHits
Definition: HitPattern.h:1082
susybsm::HSCParticleRefProd hp
Definition: classes.h:27
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
unsigned char hit[N]
Definition: HitPattern.h:1083
template<int N = HitPattern::MaxHits>
unsigned char reco::PatternSet< N >::operator[] ( int  i) const
inline

Definition at line 1111 of file HitPattern.h.

References i.

1112  {
1113  return hit[i];
1114  }
int i
Definition: DBlmapReader.cc:9
template<int N = HitPattern::MaxHits>
int reco::PatternSet< N >::size ( void  ) const
inline

Definition at line 1106 of file HitPattern.h.

References reco::PatternSet< N >::nhit.

1107  {
1108  return nhit;
1109  }
unsigned char nhit
Definition: HitPattern.h:1084

Member Data Documentation

template<int N = HitPattern::MaxHits>
unsigned char reco::PatternSet< N >::hit[N]

Definition at line 1083 of file HitPattern.h.

Referenced by reco::PatternSet< N >::begin(), and reco::PatternSet< N >::fill().

template<int N = HitPattern::MaxHits>
constexpr int reco::PatternSet< N >::MaxHits = N
static

Definition at line 1082 of file HitPattern.h.

Referenced by reco::PatternSet< N >::fill().

template<int N = HitPattern::MaxHits>
unsigned char reco::PatternSet< N >::nhit