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
14#include <vxd/dbobjects/VXDSensorInfoBasePar.h>
15#include <vxd/dbobjects/VXDGeoComponentPar.h>
16#include <vxd/dbobjects/VXDGeoPlacementPar.h>
17
18namespace Belle2 {
23
24
25
30 public:
32 VXDGeoSensorPar(const std::string& material = "", const std::string& color = "",
33 double width = 0, double width2 = 0, double length = 0, double height = 0, double angle = 0, bool slanted = false):
34 VXDGeoComponentPar(material, color, width, width2, length, height, angle), m_info(0), m_slanted(slanted) {}
35
41 void setActive(const VXDGeoComponentPar& area, const VXDGeoPlacementPar& placement)
42 {
43 m_activeArea = area; m_activePlacement = placement;
44 }
45
50 void setComponents(const std::vector<VXDGeoPlacementPar>& component) { m_components = component; }
52 const std::vector<VXDGeoPlacementPar>& getComponents() const { return m_components; }
56 const VXDSensorInfoBasePar* getSensorInfo() const { return m_info; }
58 bool getSlanted() const { return m_slanted; }
60 void setSlanted(bool slanted) { m_slanted = slanted; }
61 private:
71 std::vector<VXDGeoPlacementPar> m_components;
72
74 };
75
76} // end of namespace Belle2
77
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.