File indexing completed on 2024-04-06 12:19:35
0001 #ifndef L1Trigger_CSCTriggerPrimitives_PulseArray_h
0002 #define L1Trigger_CSCTriggerPrimitives_PulseArray_h
0003
0004
0005
0006
0007
0008 #include "DataFormats/CSCDigi/interface/CSCConstants.h"
0009 #include "L1Trigger/CSCTriggerPrimitives/interface/CSCPatternBank.h"
0010
0011 class PulseArray {
0012 public:
0013
0014 PulseArray();
0015
0016
0017 void initialize(unsigned numberOfChannels);
0018
0019
0020 void clear();
0021
0022 unsigned& operator()(const unsigned layer, const unsigned channel);
0023
0024 unsigned bitsInPulse() const;
0025
0026
0027 void extend(const unsigned layer, const unsigned channel, const unsigned bx, const unsigned hit_persist);
0028
0029
0030 bool oneShotAtBX(const unsigned layer, const unsigned channel, const unsigned bx) const;
0031
0032
0033 bool isOneShotHighAtBX(const unsigned layer, const unsigned channel, const unsigned bx) const;
0034
0035
0036
0037
0038 unsigned numberOfLayersAtBX(const unsigned bx) const;
0039
0040 private:
0041 std::vector<std::vector<unsigned> > data_;
0042 unsigned numberOfChannels_;
0043 };
0044
0045 #endif