Belle II Software development
VXDGeoSensorPar.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#include <string>
11#include <vector>
12
13#include <vxd/dbobjects/VXDGeoComponentPar.h>
14#include <vxd/dbobjects/VXDGeoPlacementPar.h>
15
16namespace Belle2 {
22
27 public:
29 VXDGeoSensorPar(const std::string& material = "", const std::string& color = "",
30 double width = 0, double width2 = 0, double length = 0, double height = 0, double angle = 0, bool slanted = false):
31 VXDGeoComponentPar(material, color, width, width2, length, height, angle), m_info(0), m_slanted(slanted) {}
32
38 void setActive(const VXDGeoComponentPar& area, const VXDGeoPlacementPar& placement)
39 {
40 m_activeArea = area; m_activePlacement = placement;
41 }
42
47 void setComponents(const std::vector<VXDGeoPlacementPar>& component) { m_components = component; }
49 const std::vector<VXDGeoPlacementPar>& getComponents() const { return m_components; }
53 const VXDSensorInfoBasePar* getSensorInfo() const { return m_info; }
55 bool getSlanted() const { return m_slanted; }
57 void setSlanted(bool slanted) { m_slanted = slanted; }
58 private:
68 std::vector<VXDGeoPlacementPar> m_components;
69
71 };
72
73} // end of namespace Belle2
74
VXDGeoComponentPar(const std::string &material="", const std::string &color="", double width=0, double width2=0, double length=0, double height=0, double angle=0)
Constructor.
The Class for VXD placement payload.
void setSlanted(bool slanted)
set whether or not the sensor is slanted (usually only the first sensor in layers 4-6)
std::vector< VXDGeoPlacementPar > m_components
list of all components to be placed
const VXDGeoPlacementPar & getActivePlacement() const
get the placement description for the active area
void setComponents(const std::vector< VXDGeoPlacementPar > &component)
set the list of sub components to be placed
void setSensorInfo(VXDSensorInfoBasePar *info)
set the pointer to the SensorInfo class
ClassDef(VXDGeoSensorPar, 5)
ClassDef, must be the last term before the closing {}.
VXDSensorInfoBasePar * m_info
Sensor Information instance.
const std::vector< VXDGeoPlacementPar > & getComponents() const
get the list of sub components
const VXDGeoComponentPar & getActiveArea() const
get the component description for the active area
bool getSlanted() const
return whether or not the sensor is slanted (usually only the first sensor in layers 4-6)
const VXDSensorInfoBasePar * getSensorInfo() const
get the pointer to the SensorInfo class
VXDGeoSensorPar(const std::string &material="", const std::string &color="", double width=0, double width2=0, double length=0, double height=0, double angle=0, bool slanted=false)
Constructor.
VXDGeoPlacementPar m_activePlacement
Position of the active area.
bool m_slanted
Indication whether this is a slanted sensor.
void setActive(const VXDGeoComponentPar &area, const VXDGeoPlacementPar &placement)
set the active area
VXDGeoComponentPar m_activeArea
Paramerers of the active area.
Namespace to provide code needed by both Vertex Detectors, PXD and SVD.
Abstract base class for different kinds of events.