Belle II Software  release-05-01-25
VXDGeoSensorPar.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Benjamin Schwenker *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <string>
13 #include <vector>
14 
15 
16 #include <vxd/dbobjects/VXDSensorInfoBasePar.h>
17 #include <vxd/dbobjects/VXDGeoComponentPar.h>
18 #include <vxd/dbobjects/VXDGeoPlacementPar.h>
19 
20 namespace Belle2 {
31  class VXDGeoSensorPar: public VXDGeoComponentPar {
32  public:
34  VXDGeoSensorPar(const std::string& material = "", const std::string& color = "",
35  double width = 0, double width2 = 0, double length = 0, double height = 0, double angle = 0, bool slanted = false):
36  VXDGeoComponentPar(material, color, width, width2, length, height, angle), m_info(0), m_slanted(slanted) {}
38  ~VXDGeoSensorPar() {}
43  void setActive(const VXDGeoComponentPar& area, const VXDGeoPlacementPar& placement)
44  {
45  m_activeArea = area; m_activePlacement = placement;
46  }
48  const VXDGeoComponentPar& getActiveArea() const { return m_activeArea; }
50  const VXDGeoPlacementPar& getActivePlacement() const { return m_activePlacement; }
52  void setComponents(const std::vector<VXDGeoPlacementPar>& component) { m_components = component; }
54  const std::vector<VXDGeoPlacementPar>& getComponents() const { return m_components; }
56  void setSensorInfo(VXDSensorInfoBasePar* info) { m_info = info; }
58  const VXDSensorInfoBasePar* getSensorInfo() const { return m_info; }
60  bool getSlanted() const { return m_slanted; }
62  void setSlanted(bool slanted) { m_slanted = slanted; }
63  private:
71  bool m_slanted;
73  std::vector<VXDGeoPlacementPar> m_components;
74 
76  };
78 } // end of namespace Belle2
79 
Belle2::VXDGeoSensorPar::setSlanted
void setSlanted(bool slanted)
set wether or not the sensor is slanted (usually only the first sensor in layers 4-6)
Definition: VXDGeoSensorPar.h:70
Belle2::VXDGeoSensorPar::getSlanted
bool getSlanted() const
return wether or not the sensor is slanted (usually only the first sensor in layers 4-6)
Definition: VXDGeoSensorPar.h:68
Belle2::VXDGeoSensorPar
The Class for VXD Sensor payload.
Definition: VXDGeoSensorPar.h:39
Belle2::VXDGeoSensorPar::VXDGeoSensorPar
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.
Definition: VXDGeoSensorPar.h:42
Belle2::VXDGeoPlacementPar
The Class for VXD placement payload.
Definition: VXDGeoPlacementPar.h:36
Belle2::VXDGeoSensorPar::m_activePlacement
VXDGeoPlacementPar m_activePlacement
Position of the active area.
Definition: VXDGeoSensorPar.h:75
Belle2::VXDSensorInfoBasePar
Namespace to provide code needed by both Vertex Detectors, PXD and SVD.
Definition: VXDSensorInfoBasePar.h:35
Belle2::VXDGeoSensorPar::getActiveArea
const VXDGeoComponentPar & getActiveArea() const
get the component description for the active area
Definition: VXDGeoSensorPar.h:56
Belle2::VXDGeoSensorPar::m_info
VXDSensorInfoBasePar * m_info
Sensor Information instance.
Definition: VXDGeoSensorPar.h:77
Belle2::VXDGeoSensorPar::setSensorInfo
void setSensorInfo(VXDSensorInfoBasePar *info)
set the pointer to the SensorInfo class
Definition: VXDGeoSensorPar.h:64
Belle2::VXDGeoComponentPar::VXDGeoComponentPar
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.
Definition: VXDGeoComponentPar.h:40
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::VXDGeoSensorPar::getActivePlacement
const VXDGeoPlacementPar & getActivePlacement() const
get the placement description for the active area
Definition: VXDGeoSensorPar.h:58
Belle2::VXDGeoSensorPar::m_slanted
bool m_slanted
Indication wether this is a slanted sensor.
Definition: VXDGeoSensorPar.h:79
Belle2::VXDGeoSensorPar::getSensorInfo
const VXDSensorInfoBasePar * getSensorInfo() const
get the pointer to the SensorInfo class
Definition: VXDGeoSensorPar.h:66
Belle2::VXDGeoSensorPar::getComponents
const std::vector< VXDGeoPlacementPar > & getComponents() const
get the list of sub components
Definition: VXDGeoSensorPar.h:62
Belle2::VXDGeoSensorPar::~VXDGeoSensorPar
~VXDGeoSensorPar()
Destructor.
Definition: VXDGeoSensorPar.h:46
Belle2::VXDGeoSensorPar::m_activeArea
VXDGeoComponentPar m_activeArea
Paramerers of the active area.
Definition: VXDGeoSensorPar.h:73
Belle2::VXDGeoSensorPar::m_components
std::vector< VXDGeoPlacementPar > m_components
list of all components to be placed
Definition: VXDGeoSensorPar.h:81
Belle2::VXDGeoComponentPar
The Class for VXD geometry component.
Definition: VXDGeoComponentPar.h:36
Belle2::VXDGeoSensorPar::setActive
void setActive(const VXDGeoComponentPar &area, const VXDGeoPlacementPar &placement)
set the active area
Definition: VXDGeoSensorPar.h:51
Belle2::VXDGeoSensorPar::setComponents
void setComponents(const std::vector< VXDGeoPlacementPar > &component)
set the list of sub components to be placed
Definition: VXDGeoSensorPar.h:60
Belle2::VXDGeoSensorPar::ClassDef
ClassDef(VXDGeoSensorPar, 5)
ClassDef, must be the last term before the closing {}.