Belle II Software  release-05-01-25
VXDGeoRadiationSensorsPar.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Benjamin Schwenker *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 
13 #include <TObject.h>
14 #include <string>
15 
16 
17 namespace Belle2 {
28  class VXDGeoRadiationSensorsPositionPar: public TObject {
29  public:
31  VXDGeoRadiationSensorsPositionPar(double z = 0, double radius = 0, double theta = 0) :
32  m_z(z), m_radius(radius), m_theta(theta) {}
36  double getZ() const { return m_z; }
38  void setZ(double z) { m_z = z; }
40  double getRadius() const { return m_radius; }
42  void setRadius(double radius) { m_radius = radius; }
44  double getTheta() const { return m_theta; }
46  void setTheta(double theta) { m_theta = theta; }
48  const std::map<int, double>& getSensors() const { return m_sensors; }
50  void addSensor(int id, double phi) { m_sensors[id] = phi; }
51 
52  private:
54  double m_z;
56  double m_radius;
58  double m_theta;
60  std::map<int, double> m_sensors;
61 
62 
64  };
65 
69  class VXDGeoRadiationSensorsPar: public TObject {
70  public:
72  VXDGeoRadiationSensorsPar(const std::string& subdetector = "", bool insideEnvelope = false,
73  double width = 0, double length = 0, bool height = 0, const std::string& material = ""):
74  m_subdetector(subdetector), m_insideEnvelope(insideEnvelope), m_width(width), m_length(length), m_height(height),
75  m_material(material) {}
79  const std::string& getSubDetector() const { return m_subdetector; }
81  void setSubDetector(const std::string& subdetector) { m_subdetector = subdetector; }
83  bool getInsideEnvelope() const { return m_insideEnvelope; }
85  void setInsideEnvelope(bool insideEnvelope) { m_insideEnvelope = insideEnvelope; }
87  double getWidth() const { return m_width; }
89  void setWidth(double width) {m_width = width; }
91  double getLength() const { return m_length; }
93  void setLength(double length) { m_length = length; }
95  double getHeight() const { return m_height; }
97  void setHeight(double height) { m_height = height; }
99  const std::string& getMaterial() const { return m_material; }
101  void setMaterial(const std::string& material) { m_material = material; }
103  const std::vector<VXDGeoRadiationSensorsPositionPar>& getPositions() const { return m_positions; }
105  void addPosition(const VXDGeoRadiationSensorsPositionPar& position) { m_positions.push_back(position); }
106 
107  private:
109  std::string m_subdetector;
113  double m_width;
115  double m_length;
117  double m_height;
119  std::string m_material;
121  std::vector<VXDGeoRadiationSensorsPositionPar> m_positions;
122 
124  };
125 
127 } // end of namespace Belle2
128 
Belle2::VXDGeoRadiationSensorsPar::getLength
double getLength() const
get the length
Definition: VXDGeoRadiationSensorsPar.h:99
Belle2::VXDGeoRadiationSensorsPar::m_positions
std::vector< VXDGeoRadiationSensorsPositionPar > m_positions
Position of radiation sensors.
Definition: VXDGeoRadiationSensorsPar.h:129
Belle2::VXDGeoRadiationSensorsPositionPar::setRadius
void setRadius(double radius)
set the common radial position of the sensor centers
Definition: VXDGeoRadiationSensorsPar.h:50
Belle2::VXDGeoRadiationSensorsPar::setLength
void setLength(double length)
set the length
Definition: VXDGeoRadiationSensorsPar.h:101
Belle2::VXDGeoRadiationSensorsPar::ClassDef
ClassDef(VXDGeoRadiationSensorsPar, 5)
ClassDef, must be the last term before the closing {}.
Belle2::VXDGeoRadiationSensorsPar::setSubDetector
void setSubDetector(const std::string &subdetector)
set the name of the subdetector
Definition: VXDGeoRadiationSensorsPar.h:89
Belle2::VXDGeoRadiationSensorsPar::addPosition
void addPosition(const VXDGeoRadiationSensorsPositionPar &position)
add radiation sensor position
Definition: VXDGeoRadiationSensorsPar.h:113
Belle2::VXDGeoRadiationSensorsPar::getSubDetector
const std::string & getSubDetector() const
get the name of the subdetector
Definition: VXDGeoRadiationSensorsPar.h:87
Belle2::VXDGeoRadiationSensorsPositionPar::m_radius
double m_radius
Common radial position of the sensor centers in mm.
Definition: VXDGeoRadiationSensorsPar.h:64
Belle2::VXDGeoRadiationSensorsPar::m_material
std::string m_material
Material name.
Definition: VXDGeoRadiationSensorsPar.h:127
Belle2::VXDGeoRadiationSensorsPar::m_insideEnvelope
bool m_insideEnvelope
For PXD they need to be outside the envelope volume, for SVD they are inside the detector.
Definition: VXDGeoRadiationSensorsPar.h:119
Belle2::VXDGeoRadiationSensorsPar::m_length
double m_length
Dimension of the sensor in mm.
Definition: VXDGeoRadiationSensorsPar.h:123
Belle2::VXDGeoRadiationSensorsPositionPar::VXDGeoRadiationSensorsPositionPar
VXDGeoRadiationSensorsPositionPar(double z=0, double radius=0, double theta=0)
Constructor.
Definition: VXDGeoRadiationSensorsPar.h:39
Belle2::VXDGeoRadiationSensorsPar::getPositions
const std::vector< VXDGeoRadiationSensorsPositionPar > & getPositions() const
get the positions of radiation sensors
Definition: VXDGeoRadiationSensorsPar.h:111
Belle2::VXDGeoRadiationSensorsPar
The Class for VXD Radiation Sensor parameters.
Definition: VXDGeoRadiationSensorsPar.h:77
Belle2::VXDGeoRadiationSensorsPar::m_height
double m_height
Dimension of the sensor in um.
Definition: VXDGeoRadiationSensorsPar.h:125
Belle2::VXDGeoRadiationSensorsPar::setInsideEnvelope
void setInsideEnvelope(bool insideEnvelope)
set whether radiation sensor are inside envelope volume
Definition: VXDGeoRadiationSensorsPar.h:93
Belle2::VXDGeoRadiationSensorsPositionPar::setTheta
void setTheta(double theta)
set the common angle to the z axis, 0 is parallel to z in deg
Definition: VXDGeoRadiationSensorsPar.h:54
Belle2::VXDGeoRadiationSensorsPositionPar::m_z
double m_z
Common z position of the sensor centers in mm.
Definition: VXDGeoRadiationSensorsPar.h:62
Belle2::VXDGeoRadiationSensorsPositionPar::~VXDGeoRadiationSensorsPositionPar
~VXDGeoRadiationSensorsPositionPar()
Destructor.
Definition: VXDGeoRadiationSensorsPar.h:42
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::VXDGeoRadiationSensorsPositionPar::m_theta
double m_theta
Common angle to the z axis, 0 is parallel to z in deg.
Definition: VXDGeoRadiationSensorsPar.h:66
Belle2::VXDGeoRadiationSensorsPositionPar::getTheta
double getTheta() const
get the common angle to the z axis, 0 is parallel to z in deg
Definition: VXDGeoRadiationSensorsPar.h:52
Belle2::VXDGeoRadiationSensorsPositionPar::m_sensors
std::map< int, double > m_sensors
Individual radiations sensors.
Definition: VXDGeoRadiationSensorsPar.h:68
Belle2::VXDGeoRadiationSensorsPar::VXDGeoRadiationSensorsPar
VXDGeoRadiationSensorsPar(const std::string &subdetector="", bool insideEnvelope=false, double width=0, double length=0, bool height=0, const std::string &material="")
Constructor.
Definition: VXDGeoRadiationSensorsPar.h:80
Belle2::VXDGeoRadiationSensorsPositionPar::addSensor
void addSensor(int id, double phi)
add sensor with individual id
Definition: VXDGeoRadiationSensorsPar.h:58
Belle2::VXDGeoRadiationSensorsPar::m_width
double m_width
Dimension of the sensor in mm.
Definition: VXDGeoRadiationSensorsPar.h:121
Belle2::VXDGeoRadiationSensorsPar::getInsideEnvelope
bool getInsideEnvelope() const
return whether radiation sensor are inside envelope volume
Definition: VXDGeoRadiationSensorsPar.h:91
Belle2::VXDGeoRadiationSensorsPar::setWidth
void setWidth(double width)
set the width
Definition: VXDGeoRadiationSensorsPar.h:97
Belle2::VXDGeoRadiationSensorsPositionPar::setZ
void setZ(double z)
set the common z position of the sensor centers
Definition: VXDGeoRadiationSensorsPar.h:46
Belle2::VXDGeoRadiationSensorsPositionPar::getRadius
double getRadius() const
get the common radial position of the sensor centers
Definition: VXDGeoRadiationSensorsPar.h:48
Belle2::VXDGeoRadiationSensorsPar::getHeight
double getHeight() const
get the height
Definition: VXDGeoRadiationSensorsPar.h:103
Belle2::VXDGeoRadiationSensorsPar::setHeight
void setHeight(double height)
set the height
Definition: VXDGeoRadiationSensorsPar.h:105
Belle2::VXDGeoRadiationSensorsPar::setMaterial
void setMaterial(const std::string &material)
set the name of the material
Definition: VXDGeoRadiationSensorsPar.h:109
Belle2::VXDGeoRadiationSensorsPar::m_subdetector
std::string m_subdetector
one of "PXD" or "SVD"
Definition: VXDGeoRadiationSensorsPar.h:117
Belle2::VXDGeoRadiationSensorsPar::getMaterial
const std::string & getMaterial() const
get the name of the material
Definition: VXDGeoRadiationSensorsPar.h:107
Belle2::VXDGeoRadiationSensorsPar::~VXDGeoRadiationSensorsPar
~VXDGeoRadiationSensorsPar()
Destructor.
Definition: VXDGeoRadiationSensorsPar.h:85
Belle2::VXDGeoRadiationSensorsPositionPar::ClassDef
ClassDef(VXDGeoRadiationSensorsPositionPar, 5)
ClassDef, must be the last term before the closing {}.
Belle2::VXDGeoRadiationSensorsPositionPar::getSensors
const std::map< int, double > & getSensors() const
get the vector storing ids of individual sensors
Definition: VXDGeoRadiationSensorsPar.h:56
Belle2::VXDGeoRadiationSensorsPar::getWidth
double getWidth() const
get the width
Definition: VXDGeoRadiationSensorsPar.h:95
Belle2::VXDGeoRadiationSensorsPositionPar::getZ
double getZ() const
get the common z position of the sensor centers
Definition: VXDGeoRadiationSensorsPar.h:44
Belle2::VXDGeoRadiationSensorsPositionPar
The Class for VXD Radiation Sensor Position parameters.
Definition: VXDGeoRadiationSensorsPar.h:36