File indexing completed on 2025-06-03 00:12:14
0001 #ifndef L1Trigger_TrackerTFP_LayerEncoding_h
0002 #define L1Trigger_TrackerTFP_LayerEncoding_h
0003
0004 #include "FWCore/Framework/interface/data_default_record_trait.h"
0005 #include "L1Trigger/TrackerTFP/interface/DataFormats.h"
0006 #include "L1Trigger/TrackTrigger/interface/SensorModule.h"
0007
0008 #include <vector>
0009
0010 namespace trackerTFP {
0011
0012
0013
0014
0015
0016
0017
0018 class LayerEncoding {
0019 public:
0020 LayerEncoding() {}
0021 LayerEncoding(const DataFormats* dataFormats);
0022 ~LayerEncoding() = default;
0023
0024 const std::vector<int>& layerEncoding(int zT) const;
0025
0026 const std::vector<int>& layerEncoding(double zT) const;
0027
0028 const TTBV& maybePattern(int zT) const;
0029
0030 const TTBV& maybePattern(double zT) const;
0031
0032 void analyze(
0033 int hitpattern, double cot, double z0, int& numPS, int& num2S, int& numMissingPS, int& numMissing2S) const;
0034
0035 private:
0036
0037 const tt::Setup* setup_;
0038
0039 const DataFormats* dataFormats_;
0040
0041 const DataFormat* zT_;
0042
0043 std::vector<std::vector<int>> layerEncoding_;
0044
0045 std::vector<TTBV> maybePattern_;
0046 std::vector<int> nullLE_;
0047 TTBV nullMP_;
0048 };
0049
0050 }
0051
0052 EVENTSETUP_DATA_DEFAULT_RECORD(trackerTFP::LayerEncoding, trackerTFP::DataFormatsRcd);
0053
0054 #endif