1 #ifndef HGCalCommonData_HGCalDDDConstants_h 2 #define HGCalCommonData_HGCalDDDConstants_h 21 #include <unordered_map> 30 std::pair<int,int>
assignCell(
float x,
float y,
int lay,
int subSec,
35 bool isValid(
int lay,
int mod,
int cell,
bool reco)
const;
36 bool isValidCell(
int layindex,
int wafer,
int cell)
const;
37 unsigned int layers(
bool reco)
const;
39 std::pair<float,float>
locateCell(
int cell,
int lay,
int type,
41 std::pair<float,float>
locateCellHex(
int cell,
int wafer,
bool reco)
const;
44 int maxCells(
int lay,
bool reco)
const;
46 int maxRows(
int lay,
bool reco)
const;
48 int modules(
int lay,
bool reco)
const;
50 std::vector<int>
numberCells(
int lay,
bool reco)
const;
54 std::pair<int,int>
simToReco(
int cell,
int layer,
int mod,
bool half)
const;
58 int& wafer,
int& icell,
64 std::pair<double,double>
waferPosition(
int wafer,
bool reco=
true)
const;
66 int wafers(
int layer,
int type)
const;
72 bool isHalfCell(
int waferType,
int cell)
const;
73 double waferZ(
int layer,
bool reco)
const;
76 std::vector<HGCalParameters::hgtrap>
getModules()
const;
80 std::vector<HGCalParameters::hgtrform>
getTrForms()
const ;
82 std::pair<int,float>
getIndex(
int lay,
bool reco)
const;
85 int cellHex(
double xx,
double yy,
const double& cellR,
86 const std::vector<double>&
posX,
87 const std::vector<double>&
posY)
const;
bool isHalfCell(int waferType, int cell) const
bool isValid(int lay, int mod, int cell, bool reco) const
std::vector< HGCalParameters::hgtrap > getModules() const
std::array< uint32_t, 2 > tot_layers_
std::map< int, HGCWaferParam > waferLayer_
void waferFromPosition(const double x, const double y, int &wafer, int &icell, int &celltyp) const
std::vector< int > moduleLayR_
double cellSizeHex(int type) const
HGCalParameters::hgtrform getTrForm(unsigned int k) const
Simrecovecs max_modules_layer_
unsigned int layersInit(bool reco) const
std::array< std::vector< int32_t >, 2 > Simrecovecs
std::array< int, 4 > waferMax_
int maxRows(int lay, bool reco) const
std::vector< int > numberCells(int lay, bool reco) const
int modulesInit(int lay, bool reco) const
std::pair< float, float > locateCell(int cell, int lay, int type, bool reco) const
std::vector< uint32_t > trformIndex_
HGCalGeometryMode::GeometryMode mode_
int cellHex(double xx, double yy, const double &cellR, const std::vector< double > &posX, const std::vector< double > &posY) const
std::pair< float, float > locateCellHex(int cell, int wafer, bool reco) const
int modules(int lay, bool reco) const
std::pair< int, int > simToReco(int cell, int layer, int mod, bool half) const
unsigned int getTrFormN() const
unsigned int layers(bool reco) const
int numberCellsHexagon(int wafer) const
std::vector< HGCalParameters::hgtrform > getTrForms() const
std::pair< int, int > assignCellHexagon(float x, float y) const
std::pair< double, double > waferPosition(int wafer, bool reco=true) const
hgtrform getTrForm(unsigned int k) const
std::pair< int, float > getIndex(int lay, bool reco) const
HGCalDDDConstants(const HGCalParameters *hp, const std::string &name)
HGCalGeometryMode::GeometryMode geomMode() const
bool isValidCell(int layindex, int wafer, int cell) const
int waferTypeL(int wafer) const
std::pair< int, int > rowColumnWafer(const int wafer) const
double waferZ(int layer, bool reco) const
int waferFromCopy(int copy) const
int waferToCopy(int wafer) const
int waferCount(const int type) const
std::vector< int > waferCopy_
std::pair< int, int > assignCell(float x, float y, int lay, int subSec, bool reco) const
std::vector< int > waferTypeT_
HGCalParameters::hgtrap getModule(unsigned int k, bool hexType, bool reco) const
const HGCalParameters * hgpar_
int maxCells(bool reco) const
T mod(const T &a, const T &b)
int waferTypeT(int wafer) const
std::vector< int > waferTypeL_
std::array< int, 3 > HGCWaferParam
bool waferInLayer(int wafer, int lay, bool reco) const
unsigned int volumes() const