Belle II Software  release-08-01-10
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 
18 namespace 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  }
46  const VXDGeoComponentPar& getActiveArea() const { return m_activeArea; }
50  void setComponents(const std::vector<VXDGeoPlacementPar>& component) { m_components = component; }
52  const std::vector<VXDGeoPlacementPar>& getComponents() const { return m_components; }
54  void setSensorInfo(VXDSensorInfoBasePar* info) { m_info = info; }
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:
69  bool m_slanted;
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
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
const VXDGeoPlacementPar & getActivePlacement() const
get the placement description for the active area
ClassDef(VXDGeoSensorPar, 5)
ClassDef, must be the last term before the closing {}.
const std::vector< VXDGeoPlacementPar > & getComponents() const
get the list of sub components
const VXDSensorInfoBasePar * getSensorInfo() const
get the pointer to the SensorInfo class
VXDSensorInfoBasePar * m_info
Sensor Information instance.
bool getSlanted() const
return wether or not the sensor is slanted (usually only the first sensor in layers 4-6)
const VXDGeoComponentPar & getActiveArea() const
get the component description for the active area
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.