DefaultShowerGeometryProducer.cc
Go to the documentation of this file.
1 #include <evt/DefaultShowerGeometryProducer.h>
2 
3 #include <det/Detector.h>
4 #include <fwk/MagneticFieldModel.h>
5 
6 #include <utl/Point.h>
7 #include <utl/CoordinateSystemPtr.h>
8 
9 #include <fwk/LocalCoordinateSystem.h>
10 
11 #include <sstream>
12 
13 using namespace evt;
14 
15 
18 {
20  double north = 0;
22  // magnetic field declination
23  north = det::Detector::GetInstance().GetGeoMagneticField().GetDeclination(anyPointOnShowerAxis);
24  std::ostringstream info;
25  info << "Use magnetic field declination: " << north/utl::degree << " deg";
26  INFO(info);
27  }
28  return utl::CoordinateSystem::RotationZ(fRotZ + north, cs);
29 }
double fRotZ
allow for possible extra rotation around z-axis
Point object.
Definition: Point.h:32
#define INFO(message)
Macro for logging informational messages.
Definition: ErrorLogger.h:161
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
constexpr double degree
static Policy::type RotationZ(const double angle, const CoordinateSystemPtr &theCS)
Construct from rotation about Z axis.
virtual utl::CoordinateSystemPtr MakeGroundParticleCoordinateSystem(const utl::Point &anyPointOnShowerAxis)
static Policy::type Create(const utl::Point &theOrigin)
Create the standard local coordinate system for a Point.

, generated on Tue Sep 26 2023.