14 prim_.push_back(std::make_shared<DTPrimitive>());
24 lateralComb_[
i] =
LEFT;
26 setDriftDistance(0,
i);
31 if (nprimUp > 0 || nprimDown > 0)
36 nprimitivesUp_ = nprimUp;
37 nprimitivesDown_ = nprimDown;
51 for (
short i = 0;
i < nprimitives_;
i++) {
52 lateralComb_[
i] =
LEFT;
53 prim_.push_back(std::make_shared<DTPrimitive>(ptrPrimitive[
i]));
56 setDriftDistance(0,
i);
64 if (nprimUp > 0 || nprimDown > 0)
69 nprimitivesUp_ = nprimUp;
70 nprimitivesDown_ = nprimDown;
84 for (
short i = 0;
i < nprimitives_;
i++) {
85 lateralComb_[
i] =
LEFT;
86 prim_.push_back(std::make_shared<DTPrimitive>(ptrPrimitive[
i]));
89 setDriftDistance(0,
i);
97 setRawId(ptr->rawId());
100 setPhiCMSSW(ptr->phi_cmssw());
101 setPhiBCMSSW(ptr->phiB_cmssw());
102 setQuality(ptr->quality());
103 setBaseChannelId(ptr->baseChannelId());
104 setCellHorizontalLayout(ptr->cellLayout());
105 setNPrimitives(ptr->nprimitives());
107 setLateralComb(ptr->lateralComb());
108 setBxTimeValue(ptr->bxTimeValue());
109 setTanPhi(ptr->tanPhi());
110 setHorizPos(ptr->horizPos());
111 setChiSquare(ptr->chiSquare());
113 for (
int i = 0;
i < ptr->nprimitives();
i++) {
114 prim_.push_back(ptr->primitive(
i));
116 setXCoorCell(ptr->xCoorCell(
i),
i);
117 setDriftDistance(ptr->xDriftDistance(
i),
i);
118 setXWirePos(ptr->xWirePos(
i),
i);
119 setZWirePos(ptr->zWirePos(
i),
i);
120 setTWireTDC(ptr->tWireTDC(
i),
i);
164 short countValidHits = 0;
165 for (
int i = 0;
i < this->nprimitives();
i++) {
172 if (countValidHits >= 3)
178 return (prim_[0]->isValidTime() && prim_[1]->isValidTime() && prim_[2]->isValidTime() && prim_[3]->isValidTime());
185 bxNumId_ =
int(auxBxId);
186 if ((auxBxId -
int(auxBxId)) >= 0.5)
187 bxNumId_ =
int(bxNumId_ + 1);
191 for (
int i = 0;
i < nprimitives_;
i++) {
194 lateralComb_[
i] = this->
primitive(
i)->laterality();
200 lateralComb_[
i] = latComb[
i];
205 lateralComb_[
i] = latComb[
i];
std::vector< DTPrimitivePtr > DTPrimitivePtrs
void setLateralCombFromPrimitives(void)
void setCellHorizontalLayout(int layout[4])
Primitive< F, X >::type primitive(const F &f)
constexpr std::array< uint8_t, layerIndexSize > layer
bool isEqualTo(MuonPath *ptr)
DTPrimitivePtr primitive(int layer) const
void setLateralComb(cmsdt::LATERAL_CASES latComb[4])
constexpr int NUM_LAYERS_2SL
constexpr int LHC_CLK_FREQ
short nprimitives() const
void setBxTimeValue(int time)
std::vector< DTPrimitive > DTPrimitives
std::shared_ptr< MuonPath > MuonPathPtr
void setPrimitive(DTPrimitivePtr &ptr, int layer)
std::shared_ptr< DTPrimitive > DTPrimitivePtr
const cmsdt::LATERAL_CASES * lateralComb() const