Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:34:48

0001 #ifndef CalibrationIsolatedParticlesMatrizECALDetIds_h
0002 #define CalibrationIsolatedParticlesMatrizECALDetIds_h
0003 
0004 #include <vector>
0005 
0006 #include "DataFormats/DetId/interface/DetId.h"
0007 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0008 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
0009 #include "Geometry/CaloTopology/interface/CaloDirection.h"
0010 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
0011 #include "Geometry/CaloTopology/interface/CaloTopology.h"
0012 #include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h"
0013 #include "Geometry/EcalAlgo/interface/EcalBarrelGeometry.h"
0014 #include "Geometry/EcalAlgo/interface/EcalEndcapGeometry.h"
0015 
0016 namespace spr {
0017 
0018   void matrixECALIds(const DetId& det,
0019                      int ieta,
0020                      int iphi,
0021                      const CaloGeometry* geo,
0022                      const CaloTopology* caloTopology,
0023                      std::vector<DetId>& vdets,
0024                      bool debug = false,
0025                      bool igNoreTransition = true);
0026 
0027   std::vector<DetId> matrixECALIds(const DetId& det,
0028                                    int ieta,
0029                                    int iphi,
0030                                    const CaloGeometry* geo,
0031                                    const CaloTopology* caloTopology,
0032                                    bool debug = false,
0033                                    bool igNoreTransition = true);
0034 
0035   std::vector<DetId> matrixECALIds(const DetId& det,
0036                                    double dR,
0037                                    const GlobalVector& trackMom,
0038                                    const CaloGeometry* geo,
0039                                    const CaloTopology* caloTopology,
0040                                    bool debug = false,
0041                                    bool igNoreTransition = true);
0042 
0043   void matrixECALIds(const DetId& det,
0044                      int ietaE,
0045                      int ietaW,
0046                      int iphiN,
0047                      int iphiS,
0048                      const CaloGeometry* geo,
0049                      const CaloTopology* caloTopology,
0050                      std::vector<DetId>& vdets,
0051                      bool debug = false,
0052                      bool igNoreTransition = true);
0053 
0054   std::vector<DetId> matrixECALIds(const DetId& det,
0055                                    int ietaE,
0056                                    int ietaW,
0057                                    int iphiN,
0058                                    int iphiS,
0059                                    const CaloGeometry* geo,
0060                                    const CaloTopology* caloTopology,
0061                                    bool debug = false,
0062                                    bool igNoreTransition = true);
0063 
0064   std::vector<DetId> newECALIdNS(std::vector<DetId>& dets,
0065                                  unsigned int last,
0066                                  int ieta,
0067                                  int iphi,
0068                                  std::vector<CaloDirection>& dir,
0069                                  const CaloSubdetectorTopology* barrelTopo,
0070                                  const CaloSubdetectorTopology* endcapTopo,
0071                                  const EcalBarrelGeometry* barrelGeom,
0072                                  const EcalEndcapGeometry* endcapGeom,
0073                                  bool debug = false,
0074                                  bool igNoreTransition = true);
0075 
0076   std::vector<DetId> newECALIdNS(std::vector<DetId>& dets,
0077                                  unsigned int last,
0078                                  std::vector<int>& ietaE,
0079                                  std::vector<int>& ietaW,
0080                                  std::vector<int>& iphiN,
0081                                  std::vector<int>& iphiS,
0082                                  std::vector<CaloDirection>& dir,
0083                                  const CaloSubdetectorTopology* barrelTopo,
0084                                  const CaloSubdetectorTopology* endcapTopo,
0085                                  const EcalBarrelGeometry* barrelGeom,
0086                                  const EcalEndcapGeometry* endcapGeom,
0087                                  bool debug = false,
0088                                  bool igNoreTransition = true);
0089 
0090   std::vector<DetId> newECALIdEW(std::vector<DetId>& dets,
0091                                  unsigned int last,
0092                                  int ieta,
0093                                  std::vector<CaloDirection>& dir,
0094                                  const CaloSubdetectorTopology* barrelTopo,
0095                                  const CaloSubdetectorTopology* endcapTopo,
0096                                  const EcalBarrelGeometry* barrelGeom,
0097                                  const EcalEndcapGeometry* endcapGeom,
0098                                  bool debug = false,
0099                                  bool igNoreTransition = true);
0100 
0101   std::vector<DetId> newECALIdEW(std::vector<DetId>& dets,
0102                                  unsigned int last,
0103                                  std::vector<int>& ietaE,
0104                                  std::vector<int>& ietaW,
0105                                  std::vector<CaloDirection>& dir,
0106                                  const CaloSubdetectorTopology* barrelTopo,
0107                                  const CaloSubdetectorTopology* endcapTopo,
0108                                  const EcalBarrelGeometry* barrelGeom,
0109                                  const EcalEndcapGeometry* endcapGeom,
0110                                  bool debug = false,
0111                                  bool igNoreTransition = true);
0112 
0113   void simpleMove(DetId& det,
0114                   const CaloDirection& dir,
0115                   const CaloSubdetectorTopology* barrelTopo,
0116                   const CaloSubdetectorTopology* endcapTopo,
0117                   const EcalBarrelGeometry* barrelGeom,
0118                   const EcalEndcapGeometry* endcapGeom,
0119                   std::vector<DetId>& cells,
0120                   int& flag,
0121                   bool debug = false,
0122                   bool igNoreTransition = true);
0123 
0124   void extraIds(const DetId& det,
0125                 std::vector<DetId>& dets,
0126                 int ietaE,
0127                 int ietaW,
0128                 int iphiN,
0129                 int iphiS,
0130                 const EcalBarrelGeometry* barrelGeom,
0131                 const EcalEndcapGeometry* endcapGeom,
0132                 std::vector<DetId>& cells,
0133                 bool debug = false);
0134 
0135 }  // namespace spr
0136 #endif