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);
129 std::cout <<
"NULL 'Primitive'." << std::endl;
135 cellLayout_[
i] = layout[
i];
140 cellLayout_[
i] = layout[
i];
168 short countValidHits = 0;
169 for (
int i = 0;
i < this->nprimitives();
i++) {
176 if (countValidHits >= 3)
182 return (prim_[0]->isValidTime() && prim_[1]->isValidTime() && prim_[2]->isValidTime() && prim_[3]->isValidTime());
189 bxNumId_ = int(auxBxId);
190 if ((auxBxId -
int(auxBxId)) >= 0.5)
191 bxNumId_ = int(bxNumId_ + 1);
195 for (
int i = 0;
i < nprimitives_;
i++) {
198 lateralComb_[
i] = this->
primitive(
i)->laterality();
204 lateralComb_[
i] = latComb[
i];
209 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
const cmsdt::LATERAL_CASES * lateralComb() const
DTPrimitivePtr primitive(int layer) const
bool isEqualTo(MuonPath *ptr)
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