121 bool isPositive =
false;
126 for (
int isec = isec1; isec < isec2; isec++) {
127 for (
int imod = imod1; imod < imod2; imod++) {
142 std::vector<DetId> vNeighborsDetId;
146 bool isPositive =
false;
147 if (castorId.
zside() == 1)
149 if (castorId.
sector() == 1) {
151 vNeighborsDetId.emplace_back(castorDetId.
rawId());
152 return vNeighborsDetId;
154 if (castorId.
sector() == 16) {
156 vNeighborsDetId.emplace_back(castorDetId.
rawId());
157 return vNeighborsDetId;
160 vNeighborsDetId.emplace_back(castorDetId.
rawId());
162 vNeighborsDetId.emplace_back(castorDetId.
rawId());
164 return vNeighborsDetId;
168 std::vector<DetId> vNeighborsDetId;
172 bool isPositive =
false;
173 if (castorId.
zside() == 1)
175 if (castorId.
module() == 1) {
177 vNeighborsDetId.emplace_back(castorDetId.
rawId());
178 return vNeighborsDetId;
182 vNeighborsDetId.emplace_back(castorDetId.
rawId());
183 return vNeighborsDetId;
186 vNeighborsDetId.emplace_back(castorDetId.
rawId());
188 vNeighborsDetId.emplace_back(castorDetId.
rawId());
191 bool isPositive =
false;
192 if (castorId.
zside() == 1)
194 if (castorId.
module() == 1) {
196 vNeighborsDetId.emplace_back(castorDetId.
rawId());
197 return vNeighborsDetId;
201 vNeighborsDetId.emplace_back(castorDetId.
rawId());
202 return vNeighborsDetId;
205 return vNeighborsDetId;
209 std::cout <<
"CastorTopology::east() not yet implemented" << std::endl;
210 std::vector<DetId> vNeighborsDetId;
211 return vNeighborsDetId;
215 std::cout <<
"CastorTopology::west() not yet implemented" << std::endl;
216 std::vector<DetId> vNeighborsDetId;
217 return vNeighborsDetId;
221 std::cout <<
"CastorTopology::north() not yet implemented" << std::endl;
222 std::vector<DetId> vNeighborsDetId;
223 return vNeighborsDetId;
226 std::cout <<
"CastorTopology::south() not yet implemented" << std::endl;
227 std::vector<DetId> vNeighborsDetId;
228 return vNeighborsDetId;
231 std::cout <<
"CastorTopology::up() not yet implemented" << std::endl;
232 std::vector<DetId> vNeighborsDetId;
233 return vNeighborsDetId;
236 std::cout <<
"CastorTopology::down() not yet implemented" << std::endl;
237 std::vector<DetId> vNeighborsDetId;
238 return vNeighborsDetId;
static bool validDetId(Section iSection, bool posEta, int iSector, int iMod)
uint16_t *__restrict__ id
int sector() const
get the sector (1-16)
virtual std::vector< DetId > incModule(const DetId &id) const
static const int MODULE_EM_MAX
std::vector< DetId > down(const DetId &id) const override
constexpr uint32_t rawId() const
get the raw id
int module() const
get the module (1-2 for EM, 1-12 for HAD)
virtual bool validRaw(const HcalCastorDetId &id) const
Section section() const
get the section
static const int MODULE_HAD_MAX
virtual unsigned int ncells() const
return a count of valid cells (for dense indexing use)
int zside() const
get the z-side of the cell (1/-1)
std::vector< DetId > west(const DetId &id) const override
virtual bool valid(const HcalCastorDetId &id) const
std::vector< DetId > north(const DetId &id) const override
virtual std::vector< DetId > incSector(const DetId &id) const
int firstCell(HcalCastorDetId::Section section) const
bool isExcluded(const HcalCastorDetId &id) const
__host__ __device__ constexpr RandomIt lower_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})
std::vector< DetId > up(const DetId &id) const override
int lastCell(HcalCastorDetId::Section section) const
std::vector< DetId > south(const DetId &id) const override
void exclude(const HcalCastorDetId &id)
std::vector< HcalCastorDetId > exclusionList_
std::vector< DetId > east(const DetId &id) const override