1 #ifndef HGCalCommonData_HGCalDDDConstants_h 2 #define HGCalCommonData_HGCalDDDConstants_h 21 #include <unordered_map> 32 std::pair<int,int>
assignCell(
float x,
float y,
int lay,
int subSec,
35 float tl,
float alpha,
36 float cellSize)
const;
39 std::pair<int,int>
findCell(
int cell,
int lay,
int subSec,
bool reco)
const;
40 std::pair<int,int>
findCellSquare(
int cell,
float h,
float bl,
float tl,
41 float alpha,
float cellSize)
const;
44 bool isValidCell(
int layindex,
int wafer,
int cell)
const;
45 unsigned int layers(
bool reco)
const;
49 std::pair<float,float>
locateCellHex(
int cell,
int wafer,
bool reco)
const;
52 int maxCells(
int lay,
bool reco)
const;
54 float cellSize)
const;
56 int maxRows(
int lay,
bool reco)
const;
58 int modules(
int lay,
bool reco)
const;
60 std::pair<int,int>
newCell(
int cell,
int layer,
int sector,
int subsector,
61 int incrx,
int incry,
bool half)
const;
62 std::pair<int,int>
newCell(
int cell,
int layer,
int subsector,
int incrz,
64 int newCell(
int kx,
int ky,
int lay,
int subSec)
const;
65 std::vector<int>
numberCells(
int lay,
bool reco)
const;
67 float alpha,
float cellSize)
const;
71 std::pair<int,int>
simToReco(
int cell,
int layer,
int mod,
bool half)
const;
75 int& wafer,
int& icell,
78 std::pair<double,double>
waferPosition(
int wafer,
bool reco=
true)
const;
85 bool isHalfCell(
int waferType,
int cell)
const;
86 double waferZ(
int layer,
bool reco)
const;
89 std::vector<HGCalParameters::hgtrap>
getModules()
const;
93 std::vector<HGCalParameters::hgtrform>
getTrForms()
const ;
95 std::pair<int,float>
getIndex(
int lay,
bool reco)
const;
98 int cellHex(
double xx,
double yy,
const double& cellR,
99 const std::vector<double>&
posX,
100 const std::vector<double>&
posY)
const;
102 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_
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
unsigned int layersInit(bool reco) const
HGCalDDDConstants(const HGCalParameters *hp, const std::string name)
std::array< std::vector< int32_t >, 2 > simrecovecs
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_
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 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
simrecovecs max_modules_layer_
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_
bool waferInLayer(int wafer, int lay, bool reco) const
unsigned int volumes() const