Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:40:05

0001 #ifndef DataFormats_TrackerCommon_SiStripSubStructure_h
0002 #define DataFormats_TrackerCommon_SiStripSubStructure_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     SiStripDetId
0006 // Class  :     SiStripSubStructure
0007 //
0008 /**\class SiStripSubStructure SiStripSubStructure.h
0009  DataFormats/TrackerCommon/interface/SiStripSubStructure.h
0010 
0011  Description: <Assign detector Ids to different substructures of the
0012  SiStripTracker: TOB, TIB, etc>
0013 
0014  Usage:
0015     <usage>
0016 
0017 */
0018 //
0019 // Original Author:  dkcira
0020 //         Created:  Wed Jan 25 07:18:21 CET 2006
0021 //
0022 
0023 #include <cstdint>
0024 #include <vector>
0025 
0026 class TrackerTopology;
0027 
0028 namespace SiStripSubStructure {
0029   void getTIBDetectors(const std::vector<uint32_t> &inputDetRawIds,  // INPUT
0030                        std::vector<uint32_t> &tibDetRawIds,          // OUTPUT
0031                        const TrackerTopology *trackerTopology,       // TrackerTopology
0032                        uint32_t layer = 0,                           // SELECTION: layer = 1..4, 0(ALL)
0033                        uint32_t bkw_frw = 0,                         // bkw_frw = 1(TIB-), 2(TIB+) 0(ALL)
0034                        uint32_t int_ext = 0,                         // int_ext = 1 (internal), 2(external), 0(ALL)
0035                        uint32_t string = 0);                         // string = 1..N, 0(ALL)
0036 
0037   void getTIDDetectors(const std::vector<uint32_t> &inputDetRawIds,  // INPUT
0038                        std::vector<uint32_t> &tidDetRawIds,          // OUTPUT
0039                        const TrackerTopology *trackerTopology,       // TrackerTopology
0040                        uint32_t side = 0,                            // SELECTION: side = 1(back), 2(front), 0(ALL)
0041                        uint32_t wheel = 0,                           // wheel = 1..3, 0(ALL)
0042                        uint32_t ring = 0,                            // ring  = 1..3, 0(ALL)
0043                        uint32_t ster = 0);                           // ster = 1(stereo), else (nonstereo), 0(ALL)
0044 
0045   void getTOBDetectors(const std::vector<uint32_t> &inputDetRawIds,  // INPUT
0046                        std::vector<uint32_t> &tobDetRawIds,          // OUTPUT
0047                        const TrackerTopology *trackerTopology,       // TrackerTopology
0048                        uint32_t layer = 0,                           // SELECTION: layer = 1..6, 0(ALL)
0049                        uint32_t bkw_frw = 0,                         // bkw_frw = 1(TOB-) 2(TOB+) 0(everything)
0050                        uint32_t rod = 0);                            // rod = 1..N, 0(ALL)
0051 
0052   void getTECDetectors(const std::vector<uint32_t> &inputDetRawIds,  // INPUT
0053                        std::vector<uint32_t> &tecDetRawIds,          // OUTPUT
0054                        const TrackerTopology *trackerTopology,       // TrackerTopology
0055                        uint32_t side = 0,                            // SELECTION: side = 1(TEC-), 2(TEC+),  0(ALL)
0056                        uint32_t wheel = 0,                           // wheel = 1..9, 0(ALL)
0057                        uint32_t petal_bkw_frw = 0,                   // petal_bkw_frw = 1(backward) 2(forward) 0(all)
0058                        uint32_t petal = 0,                           // petal = 1..8, 0(ALL)
0059                        uint32_t ring = 0,                            // ring = 1..7, 0(ALL)
0060                        uint32_t ster = 0);                           // ster = 1(sterero), else(nonstereo), 0(ALL)
0061 };                                                                   // namespace SiStripSubStructure
0062 #endif