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 {
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) {}
41 void setActive(const VXDGeoComponentPar& area, const VXDGeoPlacementPar& placement)
42 {
43 m_activeArea = area; m_activePlacement = placement;
44 }
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 };
76} // end of namespace Belle2
77
The Class for VXD geometry component.
The Class for VXD placement payload.
The Class for VXD Sensor payload.
void setSlanted(bool slanted)
set wether 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 wether 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.
~VXDGeoSensorPar()
Destructor.
bool m_slanted
Indication wether 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.