Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:28:01

0001 // This file is part of the Acts project.
0002 //
0003 // Copyright (C) 2020 CERN for the benefit of the Acts project
0004 //
0005 // This Source Code Form is subject to the terms of the Mozilla Public
0006 // License, v. 2.0. If a copy of the MPL was not distributed with this
0007 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
0008 
0009 #pragma once
0010 
0011 #include <array>
0012 #include <string>
0013 
0014 namespace Acts {
0015 
0016 /// The color typedef. It's an array of three numbers [0, 255]
0017 /// representing the RGB color values.
0018 ///
0019 using ColorRGB = std::array<int, 3>;
0020 
0021 /// @brief Struct to concentrate all visualization configurations
0022 /// in order to harmonize visualization interfaces
0023 struct ViewConfig {
0024   /// Constructor to switch visibility off
0025   ViewConfig(bool vis = true) : visible(vis) {}
0026 
0027   /// Constructor for color settings only
0028   ViewConfig(const ColorRGB& rgb) : color(rgb) {}
0029 
0030   /// Visible flag
0031   bool visible = true;
0032   /// The RGB color for this object
0033   ColorRGB color = {250, 0, 0};
0034   /// Out of plane drawing parameter for objects
0035   double offset = 0.1;
0036   /// The visual line thickness for this object
0037   double lineThickness = 0.15;
0038   /// The visual surface thickness for this object
0039   double surfaceThickness = 0.15;
0040   /// The number of segments to approximate full 2pi
0041   unsigned int nSegments = 72;
0042   /// Whether to triangulate or not
0043   bool triangulate = false;
0044   /// Write name - non-empty string indicates writing
0045   std::string outputName = "";
0046 };
0047 
0048 }  // namespace Acts