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,
33 float tl,
float alpha,
34 float cellSize)
const;
37 std::pair<int,int>
findCell(
int cell,
int lay,
int subSec,
bool reco)
const;
38 std::pair<int,int>
findCellSquare(
int cell,
float h,
float bl,
float tl,
39 float alpha,
float cellSize)
const;
41 bool isValid(
int lay,
int mod,
int cell,
bool reco)
const;
42 bool isValidCell(
int layindex,
int wafer,
int cell)
const;
43 unsigned int layers(
bool reco)
const;
45 std::pair<float,float>
locateCell(
int cell,
int lay,
int type,
47 std::pair<float,float>
locateCellHex(
int cell,
int wafer,
bool reco)
const;
50 int maxCells(
int lay,
bool reco)
const;
52 float cellSize)
const;
54 int maxRows(
int lay,
bool reco)
const;
56 int modules(
int lay,
bool reco)
const;
58 std::pair<int,int>
newCell(
int cell,
int layer,
int sector,
int subsector,
59 int incrx,
int incry,
bool half)
const;
60 std::pair<int,int>
newCell(
int cell,
int layer,
int subsector,
int incrz,
62 int newCell(
int kx,
int ky,
int lay,
int subSec)
const;
63 std::vector<int>
numberCells(
int lay,
bool reco)
const;
65 float alpha,
float cellSize)
const;
69 std::pair<int,int>
simToReco(
int cell,
int layer,
int mod,
bool half)
const;
73 int& wafer,
int& icell,
76 std::pair<double,double>
waferPosition(
int wafer,
bool reco=
true)
const;
78 int wafers(
int layer,
int type)
const;
84 bool isHalfCell(
int waferType,
int cell)
const;
85 double waferZ(
int layer,
bool reco)
const;
88 std::vector<HGCalParameters::hgtrap>
getModules()
const;
92 std::vector<HGCalParameters::hgtrform>
getTrForms()
const ;
94 std::pair<int,float>
getIndex(
int lay,
bool reco)
const;
97 int cellHex(
double xx,
double yy,
const double& cellR,
98 const std::vector<double>&
posX,
99 const std::vector<double>&
posY)
const;
101 float& tl,
float& alpha)
const;
bool isHalfCell(int waferType, int cell) const
bool isValid(int lay, int mod, int cell, bool reco) const
std::vector< int > numberCellsSquare(float h, float bl, float tl, float alpha, float cellSize) const
std::vector< HGCalParameters::hgtrap > getModules() const
int maxCellsSquare(float h, float bl, float tl, float alpha, float cellSize) 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
HGCalDDDConstants(const HGCalParameters *hp, const std::string name)
int maxRows(int lay, bool reco) const
std::vector< int > numberCells(int lay, bool reco) const
std::pair< int, int > findCellSquare(int cell, float h, float bl, float tl, float alpha, float cellSize) const
std::pair< int, int > assignCellSquare(float x, float y, float h, float bl, float tl, float alpha, float cellSize) 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, int > findCell(int cell, int lay, int subSec, bool reco) const
std::pair< int, float > getIndex(int lay, bool reco) const
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
void getParameterSquare(int lay, int subSec, bool reco, float &h, float &bl, float &tl, float &alpha) const
int waferToCopy(int wafer) const
std::pair< int, int > newCell(int cell, int layer, int sector, int subsector, int incrx, int incry, bool half) 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