Belle II Software  release-05-01-25
ROIDetPlane.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2013 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Giulia Casarosa, Eugenio Paoloni *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <vxd/dataobjects/VxdID.h>
14 
15 #include <genfit/DetPlane.h>
16 #include <genfit/SharedPlanePtr.h>
17 
18 #include <TVector3.h>
19 
20 namespace Belle2 {
28  class ROIDetPlane : public genfit::DetPlane {
29 
30  public:
31 
32  // TODO: Using u and v tolerances seems to be more "natural", or use theta and phi so its consistent for u and v direction
33  ROIDetPlane(const VxdID& vxdID, double toleranceZ, double tolerancePhi);
35  explicit ROIDetPlane(const VxdID& vxdID);
37  // Needed by root. Dont use!
38  ROIDetPlane() = default;
39 
40 
42  VxdID getVxdID() {return m_vxdID;};
43 
45  bool isSensorInRange(const TVector3& trackPosition, int layer);
46 
51 
52  private:
53  VxdID m_vxdID;
56  TVector3 m_orthoVec_upper;
57  TVector3 m_orthoVec_lower;
59  double m_sensorZMin = 0;
60  double m_sensorZMax = 0;
62  int m_layer = 0;
67  };
69 }
genfit::SharedPlanePtr
std::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.
Definition: SharedPlanePtr.h:40
Belle2::VxdID
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:43
Belle2::ROIDetPlane::m_orthoVec_upper
TVector3 m_orthoVec_upper
these two vectors define the planes going through the upper and lower edge of the sensor
Definition: ROIDetPlane.h:64
Belle2::ROIDetPlane::getVxdID
VxdID getVxdID()
return the sensor ID
Definition: ROIDetPlane.h:50
Belle2::ROIDetPlane::m_layer
int m_layer
layer number
Definition: ROIDetPlane.h:70
Belle2::ROIDetPlane::m_sharedPlanePtr
genfit::SharedPlanePtr m_sharedPlanePtr
the shared plane pointer
Definition: ROIDetPlane.h:73
Belle2::ROIDetPlane::ROIDetPlane
ROIDetPlane(const VxdID &vxdID, double toleranceZ, double tolerancePhi)
the constructor
Definition: ROIDetPlane.cc:26
Belle2::ROIDetPlane::m_sensorZMin
double m_sensorZMin
min of allowed global z range
Definition: ROIDetPlane.h:67
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ROIDetPlane::m_vxdID
VxdID m_vxdID
the sensor ID
Definition: ROIDetPlane.h:58
Belle2::ROIDetPlane::getSharedPlanePtr
genfit::SharedPlanePtr getSharedPlanePtr()
return the shared-plane pointer
Definition: ROIDetPlane.h:58
Belle2::ROIDetPlane::m_sensorZMax
double m_sensorZMax
max of allowed global z range
Definition: ROIDetPlane.h:68
genfit::DetPlane
Detector plane.
Definition: DetPlane.h:59
Belle2::ROIDetPlane::isSensorInRange
bool isSensorInRange(const TVector3 &trackPosition, int layer)
determine if the sensor is in range
Definition: ROIDetPlane.cc:76
Belle2::ROIDetPlane::setSharedPlanePtr
void setSharedPlanePtr(genfit::SharedPlanePtr spp)
assign the shared-plane pointer
Definition: ROIDetPlane.h:56
Belle2::ROIDetPlane::m_orthoVec_lower
TVector3 m_orthoVec_lower
vector normal to the vector from 0,0,0 to a point on the lower edge of the sensor in x-y-plane
Definition: ROIDetPlane.h:65