12 #include "tracking/pxdDataReductionClasses/ROIGeometry.h"
13 #include <framework/logging/Logger.h>
14 #include <vxd/geometry/GeoCache.h>
15 #include <vxd/geometry/SensorInfoBase.h>
16 #include <tracking/pxdDataReductionClasses/ROIDetPlane.h>
23 ROIGeometry::ROIGeometry()
28 ROIGeometry::~ROIGeometry()
35 ROIGeometry::fillPlaneList(
double toleranceZ,
double tolerancePhi)
41 std::set<Belle2::VxdID> pxdLayers = aGeometry.
getLayers(VXD::SensorInfoBase::PXD);
42 std::set<Belle2::VxdID>::iterator itPxdLayers = pxdLayers.begin();
46 while ((itPxdLayers != pxdLayers.end()) && (itPxdLayers->getLayerNumber() != 7)) {
48 std::set<Belle2::VxdID> pxdLadders = aGeometry.
getLadders(*itPxdLayers);
49 std::set<Belle2::VxdID>::iterator itPxdLadders = pxdLadders.begin();
51 while (itPxdLadders != pxdLadders.end()) {
53 std::set<Belle2::VxdID> pxdSensors = aGeometry.
getSensors(*itPxdLadders);
54 std::set<Belle2::VxdID>::iterator itPxdSensors = pxdSensors.begin();
55 B2DEBUG(20,
" pxd sensor info " << * (pxdSensors.begin()));
57 while (itPxdSensors != pxdSensors.end()) {
58 B2DEBUG(20,
" pxd sensor info " << *itPxdSensors);
60 ROIDetPlane plane(*itPxdSensors, toleranceZ, tolerancePhi);
62 plane.setSharedPlanePtr(sharedPlane);
64 m_planeList.push_back(plane);
73 B2DEBUG(20,
"just filled the plane list with " << m_planeList.size() <<
"planes");
78 ROIGeometry::appendSelectedPlanes(std::list<ROIDetPlane>* selectedPlanes, TVector3 recoTrackPosition,
int layer)
82 std::list<ROIDetPlane>::iterator itPlanes = m_planeList.begin();
84 B2DEBUG(20,
"append Planes, checking " << m_planeList.size() <<
" planes");
86 while (itPlanes != m_planeList.end()) {
88 if (itPlanes->isSensorInRange(recoTrackPosition, layer))
89 selectedPlanes->push_back(*itPlanes);
95 B2DEBUG(20,
" list of sensor IDs of the selected planes for this track:");
96 itPlanes = selectedPlanes->begin();
97 while (itPlanes != selectedPlanes->end()) {
98 B2DEBUG(20,
" " << (itPlanes->getVxdID()));