SEVN
Loading...
Searching...
No Matches
Zeros Class Referenceabstract

#include <zeros.h>

Inheritance diagram for Zeros:
Kicks

Public Member Functions

 Zeros (bool reg=true)
 
void _apply (Star *s) override
 
Zerosinstance ()
 
std::string name () override
 
void apply (_UNUSED Star *s)
 
virtual void _apply (_UNUSED Star *s)=0
 
double get_random_kick ()
 

Static Public Member Functions

static KicksInstance (std::string const &name)
 

Static Public Attributes

static Zeros _zeros
 

Protected Member Functions

void Register (Kicks *ptr, const std::string &_name)
 
void set_random_kick (const double &a)
 
void kick_initializer ()
 
virtual void check_and_correct_vkick (Star *s)
 
double draw_from_gaussian (double std, double mean=0.)
 

Protected Attributes

std::normal_distribution< double > standard_gaussian
 
std::uniform_real_distribution< double > uniformRealDistribution
 
SevnLogging svlog
 
double random_velocity_kick =utilities::NULL_DOUBLE
 

Static Private Member Functions

static std::map< std::string, Kicks * > & GetStaticMap ()
 
static std::vector< int > & GetUsed ()
 

Detailed Description

Kicks velocity always=0

Constructor & Destructor Documentation

◆ Zeros()

Zeros::Zeros ( bool  reg = true)
inline

Member Function Documentation

◆ _apply() [1/2]

virtual void Kicks::_apply ( _UNUSED Star s)
pure virtualinherited

◆ _apply() [2/2]

void Zeros::_apply ( Star s)
override

◆ apply()

void Kicks::apply ( _UNUSED Star s)
inherited

Wrapper for specified _apply functions

Parameters
s

◆ check_and_correct_vkick()

void Kicks::check_and_correct_vkick ( Star s)
protectedvirtualinherited

Check if we have to make correction to the final Vkick (after all the fallback and similar correction) It checks:

  • If Mremant=0 (e.g. after a PPISN) So far it just check that the final Vkick is not lower than the parameter sn_min_vkick. If this is the case it just sets the final velocity to the minimum value and rescale all the components by the factor min_vkick/old_vkick if old_vkick is 0, new isotropic velocity components are randomly drawn
    Parameters
    s

◆ draw_from_gaussian()

double Kicks::draw_from_gaussian ( double  std,
double  mean = 0. 
)
inlineprotectedinherited

◆ get_random_kick()

double Kicks::get_random_kick ( )
inlineinherited

◆ GetStaticMap()

static std::map< std::string, Kicks * > & Kicks::GetStaticMap ( )
inlinestaticprivateinherited

◆ GetUsed()

static std::vector< int > & Kicks::GetUsed ( )
inlinestaticprivateinherited

◆ instance()

Zeros * Zeros::instance ( )
inlinevirtual

Reimplemented from Kicks.

◆ Instance()

Kicks * Kicks::Instance ( std::string const &  name)
staticinherited

◆ kick_initializer()

void Kicks::kick_initializer ( )
protectedinherited

◆ name()

std::string Zeros::name ( )
inlineoverridevirtual

Reimplemented from Kicks.

◆ Register()

void Kicks::Register ( Kicks ptr,
const std::string &  _name 
)
inlineprotectedinherited

◆ set_random_kick()

void Kicks::set_random_kick ( const double &  a)
inlineprotectedinherited

Member Data Documentation

◆ _zeros

Zeros Zeros::_zeros
static

◆ random_velocity_kick

double Kicks::random_velocity_kick =utilities::NULL_DOUBLE
protectedinherited

◆ standard_gaussian

std::normal_distribution<double> Kicks::standard_gaussian
protectedinherited

◆ svlog

SevnLogging Kicks::svlog
protectedinherited

◆ uniformRealDistribution

std::uniform_real_distribution<double> Kicks::uniformRealDistribution
protectedinherited

The documentation for this class was generated from the following files: