SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Particles/MonteCarlo - MonteCarloOptions.hpp Hit Total Coverage
Commit: 1f2210958b4f38fdc0400907ee7c6d5af5111418 Lines: 0 13 0.0 %
Date: 2025-12-05 05:03:31
Legend: Lines: hit not hit

          Line data    Source code
       1           0 : // Distributed under the MIT License.
       2             : // See LICENSE.txt for details.
       3             : 
       4             : #pragma once
       5             : 
       6             : #include <array>
       7             : #include <pup.h>
       8             : 
       9             : #include "Options/String.hpp"
      10             : #include "Utilities/Serialization/CharmPupable.hpp"
      11             : #include "Utilities/TMPL.hpp"
      12             : 
      13             : namespace Particles::MonteCarlo {
      14             : 
      15             : template <size_t NeutrinoSpecies>
      16           0 : class MonteCarloOptions : public PUP::able {
      17             :  public:
      18           0 :   explicit MonteCarloOptions(
      19             :       const std::array<double, NeutrinoSpecies> initial_packet_energy)
      20             :       : initial_packet_energy_(initial_packet_energy) {}
      21             : 
      22           0 :   static constexpr Options::String help = {
      23             :       "Global options for Monte-Carlo evolution.\n"
      24             :       "InitialPacketEnergy: [double, double, double]    \n"};
      25             : 
      26           0 :   struct InitialPacketEnergy {
      27           0 :     using type = std::array<double, NeutrinoSpecies>;
      28           0 :     static constexpr Options::String help{
      29             :         "Initial energy used to create packets"};
      30             :   };
      31             : 
      32           0 :   using options = tmpl::list<InitialPacketEnergy>;
      33             : 
      34           0 :   explicit MonteCarloOptions(CkMigrateMessage* msg) : PUP::able(msg) {}
      35             : 
      36             :   using PUP::able::register_constructor;
      37           0 :   void pup(PUP::er& p) override;
      38           0 :   WRAPPED_PUPable_decl_template(MonteCarloOptions);
      39             : 
      40           0 :   const std::array<double, NeutrinoSpecies>& get_initial_packet_energy() const {
      41             :     return initial_packet_energy_;
      42             :   }
      43             : 
      44             :  private:
      45           0 :   std::array<double, NeutrinoSpecies> initial_packet_energy_;
      46             : };
      47             : 
      48             : }  // namespace Particles::MonteCarlo

Generated by: LCOV version 1.14