CORSIKA8  0.0.0
The framework to simulate particle cascades for astroparticle physics
RootCoordinateSystem.hpp
1 /*
2  * (c) Copyright 2020 CORSIKA Project, corsika-project@lists.kit.edu
3  *
4  * This software is distributed under the terms of the GNU General Public
5  * Licence version 3 (GPL Version 3). See file LICENSE for a full version of
6  * the license.
7  */
8 
9 #pragma once
10 
12 
13 #include <memory>
14 
15 namespace corsika {
16 
20  using CoordinateSystemPtr = std::shared_ptr<CoordinateSystem const>;
21 
30  static inline CoordinateSystemPtr& get_root_CoordinateSystem() {
31  static CoordinateSystemPtr rootCS(new CoordinateSystem); // THIS IS IT
32  return rootCS;
33  }
34 
35 } // namespace corsika
The cascade namespace assembles all objects needed to simulate full particles cascades.
std::shared_ptr< CoordinateSystem const > CoordinateSystemPtr
To refer to CoordinateSystems, only the CoordinateSystemPtr must be used.
A class to store the reference coordinate system for a geometric object.