Belle II Software development
VXDGeoLadderPar.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10
11#include <TObject.h>
12#include <string>
13#include <vector>
14
15#include <vxd/dbobjects/VXDGeoSensorPlacementPar.h>
16
17
18namespace Belle2 {
29 class VXDGeoLadderPar: public TObject {
30 public:
32 VXDGeoLadderPar(int layerID = 0, double shift = 0, double radius = 0,
33 double slantedAngle = 0, double slantedRadius = 0,
34 double glueSize = -1, const std::string& glueMaterial = ""):
35 m_layerID(layerID), m_shift(shift), m_radius(radius),
36 m_slantedAngle(slantedAngle), m_slantedRadius(slantedRadius),
37 m_glueSize(glueSize), m_glueMaterial(glueMaterial) {}
40
42 int getLayerID() const { return m_layerID; }
44 void setLayerID(int layerID) { m_layerID = layerID; }
46 double getShift() const { return m_shift; }
48 void setShift(double shift) { m_shift = shift; }
50 double getRadius() const { return m_radius; }
52 void setRadius(double radius) { m_radius = radius; }
54 double getSlantedAngle() const { return m_slantedAngle; }
56 void setSlantedAngle(double slantedAngle) { m_slantedAngle = slantedAngle; }
58 double getSlantedRadius() const { return m_slantedRadius; }
60 void setSlantedRadius(double slantedRadius) { m_slantedRadius = slantedRadius; }
62 double getGlueSize() const { return m_glueSize; }
64 void setGlueSize(double glueSize) { m_glueSize = glueSize; }
66 const std::string& getGlueMaterial() const { return m_glueMaterial; }
68 void setGlueMaterial(const std::string& glueMaterial) { m_glueMaterial = glueMaterial; }
70 const std::vector<VXDGeoSensorPlacementPar>& getSensors() const { return m_sensors; }
72 void addSensor(const VXDGeoSensorPlacementPar& sensor) { m_sensors.push_back(sensor); }
73 private:
74
78 double m_shift;
80 double m_radius;
86 double m_glueSize;
88 std::string m_glueMaterial;
90 std::vector<VXDGeoSensorPlacementPar> m_sensors;
91
93 };
95} // end of namespace Belle2
96
The Class for VXD Ladder payload.
void setShift(double shift)
set the shift along the u coordinate for all sensors in the ladder
double m_radius
Radius where to place the ladder.
void setRadius(double radius)
set the radius of all sensors except slanted ones
ClassDef(VXDGeoLadderPar, 5)
ClassDef, must be the last term before the closing {}.
int getLayerID() const
get the layer id
const std::string & getGlueMaterial() const
get the glue material
int m_layerID
ID of the ladder inside the layer.
double getSlantedAngle() const
get the slant angle for slanted sensors
VXDGeoLadderPar(int layerID=0, double shift=0, double radius=0, double slantedAngle=0, double slantedRadius=0, double glueSize=-1, const std::string &glueMaterial="")
Constructor.
void setSlantedAngle(double slantedAngle)
set the slant angle for slanted sensors
~VXDGeoLadderPar()
Destructor.
double m_slantedRadius
Radius of the center of the active area for slanted sensors.
const std::vector< VXDGeoSensorPlacementPar > & getSensors() const
get list of sensors
std::string m_glueMaterial
name of the Material used as glue
void addSensor(const VXDGeoSensorPlacementPar &sensor)
add a sensor to the list of sensors in the ladder
void setSlantedRadius(double slantedRadius)
set the radius for slanted sensors
double getRadius() const
get the radius of all sensors except slanted ones
void setGlueSize(double glueSize)
set the additional glue size, e.g.
void setGlueMaterial(const std::string &glueMaterial)
set the glue material
std::vector< VXDGeoSensorPlacementPar > m_sensors
list of all sensors to be placed in the ladder
double m_shift
Shift of the ladder along local u.
double m_slantedAngle
Angle of the module with respect to the global z-axis for slanted sensors.
double getShift() const
get the shift along the u coordinate for all sensors in the ladder
double m_glueSize
Oversize of the glue between the ladders, <0 means no glue.
void setLayerID(int layerID)
set the layer id
double getSlantedRadius() const
get the radius for slanted sensors
double getGlueSize() const
get the additional glue size, e.g.
The Class for VXD Sensor Placement payload.
Abstract base class for different kinds of events.