10#include <tracking/roiFinding/ROIGeometry.h>
11#include <tracking/roiFinding/ROIDetPlane.h>
12#include <framework/logging/Logger.h>
13#include <vxd/geometry/GeoCache.h>
14#include <vxd/geometry/SensorInfoBase.h>
37 std::set<Belle2::VxdID> vxdLayers = geoCache.getLayers(det);
38 std::set<Belle2::VxdID>::iterator itVXDLayers = vxdLayers.begin();
40 while (itVXDLayers != vxdLayers.end()) {
42 std::set<Belle2::VxdID> vxdLadders = geoCache.getLadders(*itVXDLayers);
43 std::set<Belle2::VxdID>::iterator itVXDLadders = vxdLadders.begin();
45 while (itVXDLadders != vxdLadders.end()) {
47 std::set<Belle2::VxdID> vxdSensors = geoCache.getSensors(*itVXDLadders);
48 std::set<Belle2::VxdID>::iterator itVXDSensors = vxdSensors.begin();
49 B2DEBUG(20,
" vxd sensor info " << * (vxdSensors.begin()));
51 while (itVXDSensors != vxdSensors.end()) {
52 B2DEBUG(20,
" vxd sensor info " << *itVXDSensors);
54 ROIDetPlane plane(*itVXDSensors, toleranceZ, tolerancePhi);
55 genfit::SharedPlanePtr sharedPlane(
new ROIDetPlane(plane));
56 plane.setSharedPlanePtr(sharedPlane);
67 B2DEBUG(20,
"just filled the plane list with " <<
m_planeList.size() <<
"planes");
76 std::list<ROIDetPlane>::iterator itPlanes =
m_planeList.begin();
78 B2DEBUG(20,
"append Planes, checking " <<
m_planeList.size() <<
" planes");
82 if (itPlanes->isSensorInRange(recoTrackPosition, layer))
83 selectedPlanes->push_back(*itPlanes);
89 B2DEBUG(20,
" list of sensor IDs of the selected planes for this track:");
90 itPlanes = selectedPlanes->begin();
91 while (itPlanes != selectedPlanes->end()) {
92 B2DEBUG(20,
" " << (itPlanes->getVxdID()));
ROIDetPlane describes the plane containing a sensor.
void fillPlaneList(double toleranceZ, double tolerancePhi, const VXD::SensorInfoBase::SensorType det)
fill the list of planes
void appendSelectedPlanes(std::list< ROIDetPlane > *selectedPlanes, ROOT::Math::XYZVector recoTrackPosition, int layer)
Append to selectedPlanes those in the internal list for which a sensor is near the RecoTrack position...
ROIGeometry()
Constructor.
~ROIGeometry()
Destructor.
std::list< ROIDetPlane > m_planeList
list of planes
Class to faciliate easy access to sensor information of the VXD like coordinate transformations or pi...
static GeoCache & getInstance()
Return a reference to the singleton instance.
SensorType
Enum specifing the type of sensor the SensorInfo represents.
Abstract base class for different kinds of events.