Belle II Software  release-05-01-25
GeoVXDComponents.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Andreas Moll, Zbynek Drasal, Christian Oswald, *
7  * Martin Ritter *
8  * *
9  * This software is provided "as is" without any warranty. *
10  **************************************************************************/
11 
12 #include <vxd/geometry/GeoVXDComponents.h>
13 #include <framework/logging/Logger.h>
14 #include <boost/algorithm/string.hpp>
15 
16 namespace Belle2 {
21  VXDGeoPlacement::VXDGeoPlacement(const std::string& name, double u, double v, std::string w, double woffset): m_name(name), m_u(u),
22  m_v(v), m_woffset(woffset)
23  {
24  boost::to_lower(w);
25  if (w == "below") m_w = c_below;
26  else if (w == "bottom") m_w = c_bottom;
27  else if (w == "center") m_w = c_center;
28  else if (w == "top") m_w = c_top;
29  else if (w == "above") m_w = c_above;
30  else B2FATAL("Unknown z-placement for VXD Component " << name << ": " << w << ", check xml file");
31 
32  if (m_w != c_center && m_woffset < 0) {
33  B2FATAL("VXD Component " << name << ": Offset has to be positive except for centered placement");
34  }
35  }
37 } // namespace Belle2
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
prepareAsicCrosstalkSimDB.u
u
merged u1 and u2
Definition: prepareAsicCrosstalkSimDB.py:46
Belle2::VXDGeoPlacement::VXDGeoPlacement
VXDGeoPlacement(const std::string &name="", double u=0, double v=0, std::string w="bottom", double woffset=0)
Constructor.
Definition: GeoVXDComponents.cc:30