File indexing completed on 2024-04-06 12:04:37
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef L1_TRACK_TRIGGER_TYPES_H
0010 #define L1_TRACK_TRIGGER_TYPES_H
0011
0012
0013 #include "DataFormats/Common/interface/Ref.h"
0014 #include "DataFormats/Common/interface/Ptr.h"
0015 #include "DataFormats/Common/interface/DetSetVector.h"
0016 #include "DataFormats/Phase2TrackerDigi/interface/Phase2TrackerDigi.h"
0017 #include "DataFormats/L1TrackTrigger/interface/TTCluster.h"
0018 #include "DataFormats/L1TrackTrigger/interface/TTStub.h"
0019 #include "DataFormats/L1TrackTrigger/interface/TTTrack.h"
0020 #include "DataFormats/L1TrackTrigger/interface/TTTrack_TrackWord.h"
0021 #include "DataFormats/L1TrackTrigger/interface/TTBV.h"
0022
0023 #include <bitset>
0024
0025
0026 template <typename T>
0027 using TTClusterDetSetVecT = edmNew::DetSetVector<TTCluster<T>>;
0028 template <typename T>
0029 using TTStubDetSetVecT = edmNew::DetSetVector<TTStub<T>>;
0030
0031 template <typename T>
0032 using TTClusterRefT = edm::Ref<TTClusterDetSetVecT<T>, TTCluster<T>>;
0033 template <typename T>
0034 using TTStubRefT = edm::Ref<TTStubDetSetVecT<T>, TTStub<T>>;
0035
0036 template <typename T>
0037 using TTTrackPtrT = edm::Ptr<TTTrack<T>>;
0038
0039
0040 typedef edm::Ref<edm::DetSetVector<Phase2TrackerDigi>, Phase2TrackerDigi> Ref_Phase2TrackerDigi_;
0041
0042 typedef TTClusterDetSetVecT<Ref_Phase2TrackerDigi_> TTClusterDetSetVec;
0043 typedef TTStubDetSetVecT<Ref_Phase2TrackerDigi_> TTStubDetSetVec;
0044
0045 typedef TTClusterRefT<Ref_Phase2TrackerDigi_> TTClusterRef;
0046 typedef TTStubRefT<Ref_Phase2TrackerDigi_> TTStubRef;
0047
0048 typedef edmNew::DetSet<TTStub<Ref_Phase2TrackerDigi_>> TTStubDetSet;
0049 typedef edmNew::DetSet<TTCluster<Ref_Phase2TrackerDigi_>> TTClusterDetSet;
0050
0051 typedef edm::Ref<std::vector<TTTrack<Ref_Phase2TrackerDigi_>>, TTTrack<Ref_Phase2TrackerDigi_>> TTTrackRef;
0052 typedef TTTrackPtrT<Ref_Phase2TrackerDigi_> TTTrackPtr;
0053
0054 namespace tt {
0055
0056
0057
0058 typedef std::bitset<TTBV::S_> Frame;
0059
0060 typedef std::pair<TTStubRef, Frame> FrameStub;
0061
0062 typedef std::pair<TTTrackRef, Frame> FrameTrack;
0063 typedef std::vector<FrameStub> StreamStub;
0064 typedef std::vector<FrameTrack> StreamTrack;
0065 typedef std::vector<Frame> Stream;
0066 typedef std::vector<StreamStub> StreamsStub;
0067 typedef std::vector<StreamTrack> StreamsTrack;
0068 typedef std::vector<Stream> Streams;
0069 typedef std::map<TTTrackRef, TTTrackRef> TTTrackRefMap;
0070 typedef std::vector<TTTrack<Ref_Phase2TrackerDigi_>> TTTracks;
0071 }
0072
0073 #endif