/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Geometry/HcalTowerAlgo/interface/HcalHardcodeGeometryLoader.h
133 строки
3 KB
Cms Build
Clang-Format
22 май 2019, 04:55
22 май 2019, 04:55
158eef8
Код
Авторство
О чём код?
#ifndef GEOMETRY_HCALTOWERALGO_HCALHARDCODEGEOMETRYLOADER_H #define GEOMETRY_HCALTOWERALGO_HCALHARDCODEGEOMETRYLOADER_H 1 /** \class HcalHardcodeGeometryLoader * * \author F.Ratnikov, UMd */ #include "Geometry/CaloGeometry/interface/CaloVGeometryLoader.h" #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include <vector> class HcalTopology; class HcalGeometry; class HcalHardcodeGeometryLoader { public: HcalHardcodeGeometryLoader(); CaloSubdetectorGeometry* load(const HcalTopology& fTopology); private: struct HBHOCellParameters { HBHOCellParameters(int f_eta, int f_depth, int f_phiFirst, int f_phiStep, int f_dPhi, float f_rMin, float f_rMax, float f_etaMin, float f_etaMax) : eta(f_eta), depth(f_depth), phiFirst(f_phiFirst), phiStep(f_phiStep), dphi(f_dPhi), rMin(f_rMin), rMax(f_rMax), etaMin(f_etaMin), etaMax(f_etaMax) {} int eta; int depth; int phiFirst; int phiStep; int dphi; float rMin; float rMax; float etaMin; float etaMax; }; struct HECellParameters { HECellParameters(int f_eta, int f_depth, int f_phiFirst, int f_phiStep, int f_dPhi, float f_zMin, float f_zMax, float f_etaMin, float f_etaMax) : eta(f_eta), depth(f_depth), phiFirst(f_phiFirst), phiStep(f_phiStep), dphi(f_dPhi), zMin(f_zMin), zMax(f_zMax), etaMin(f_etaMin), etaMax(f_etaMax) {} int eta; int depth; int phiFirst; int phiStep; int dphi; float zMin; float zMax; float etaMin; float etaMax; }; struct HFCellParameters { HFCellParameters(int f_eta, int f_depth, int f_phiFirst, int f_phiStep, int f_dPhi, float f_zMin, float f_zMax, float f_rMin, float f_rMax) : eta(f_eta), depth(f_depth), phiFirst(f_phiFirst), phiStep(f_phiStep), dphi(f_dPhi), zMin(f_zMin), zMax(f_zMax), rMin(f_rMin), rMax(f_rMax) {} int eta; int depth; int phiFirst; int phiStep; int dphi; float zMin; float zMax; float rMin; float rMax; }; std::vector<HBHOCellParameters> makeHBCells(const HcalTopology& topology); std::vector<HBHOCellParameters> makeHOCells(); std::vector<HECellParameters> makeHECells(const HcalTopology& topology); std::vector<HECellParameters> makeHECells_H2(); std::vector<HFCellParameters> makeHFCells(); void fillHBHO(HcalGeometry* fGeometry, const std::vector<HBHOCellParameters>& fCells, bool fHB); void fillHE(HcalGeometry* fGeometry, const std::vector<HECellParameters>& fCells); void fillHF(HcalGeometry* fGeometry, const std::vector<HFCellParameters>& fCells); int MAX_HCAL_PHI; double DEGREE2RAD; std::vector<std::vector<int> > m_segmentation; }; #endif