|
||||
File indexing completed on 2024-04-06 12:04:37
0001 #ifndef DataFormats_L1TrackTrigger_TTDTC_h 0002 #define DataFormats_L1TrackTrigger_TTDTC_h 0003 0004 #include "DataFormats/L1TrackTrigger/interface/TTTypes.h" 0005 #include "DataFormats/L1TrackTrigger/interface/TTBV.h" 0006 0007 #include <bitset> 0008 #include <utility> 0009 #include <vector> 0010 0011 /*! 0012 * \class TTDTC 0013 * \brief Class to store hardware like structured TTStub Collection used by Track Trigger emulators 0014 * \author Thomas Schuh 0015 * \date 2020, Jan 0016 */ 0017 class TTDTC { 0018 public: 0019 TTDTC() {} 0020 TTDTC(int numRegions, int numOverlappingRegions, int numDTCsPerRegion); 0021 ~TTDTC() {} 0022 0023 // all regions [default 0..8] 0024 const std::vector<int>& tfpRegions() const { return regions_; } 0025 // all TFP channel [default 0..47] 0026 const std::vector<int>& tfpChannels() const { return channels_; } 0027 // write one specific stream of TTStubRefs using DTC identifier (region[0-8], board[0-23], channel[0-1]) 0028 // dtcRegions aka detector regions are defined by tk layout 0029 void setStream(int dtcRegion, int dtcBoard, int dtcChannel, const tt::StreamStub& stream); 0030 // read one specific stream of TTStubRefs using TFP identifier (region[0-8], channel[0-47]) 0031 // tfpRegions aka processing regions are rotated by -0.5 region width w.r.t detector regions 0032 const tt::StreamStub& stream(int tfpRegion, int tfpChannel) const; 0033 // total number of frames 0034 int size() const; 0035 // total number of stubs 0036 int nStubs() const; 0037 // total number of gaps 0038 int nGaps() const; 0039 0040 private: 0041 // converts DTC identifier (region[0-8], board[0-23], channel[0-1]) into allStreams_ index [0-431] 0042 int index(int dtcRegion, int dtcBoard, int dtcChannel) const; 0043 // converts TFP identifier (region[0-8], channel[0-47]) into allStreams_ index [0-431] 0044 int index(int tfpRegion, int tfpChannel) const; 0045 // number of phi slices the outer tracker readout is organized in [default 9] 0046 int numRegions_; 0047 // number of regions a reconstructable particle may cross [default 2] 0048 int numOverlappingRegions_; 0049 // number of DTC boards used to readout a detector region [default 24] 0050 int numDTCsPerRegion_; 0051 // number of DTC boards connected to one TFP [default 48] 0052 int numDTCsPerTFP_; 0053 // all regions [default 0..8] 0054 std::vector<int> regions_; 0055 // all TFP channel [default 0..47] 0056 std::vector<int> channels_; 0057 // collection of all optical links between DTC and TFP [default 432 links] 0058 tt::StreamsStub streams_; 0059 }; 0060 0061 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |