#ifndef __NAUNET_PHYSICS_H__
#define __NAUNET_PHYSICS_H__

#include "naunet_macros.h"

{% if info.device == "gpu" %}
__device__ __host__
{% endif %}
double mantles(double *y);

{% if info.device == "gpu" %}
__device__
{% endif %}
double shieldingfactor(int specidx, double h2coldens, double spcoldens, double tgas, int method);

{% if info.device == "gpu" %}
__device__
{% endif %}
double H2shielding(double coldens, int method);

{% if info.device == "gpu" %}
__device__
{% endif %}
double COshielding(double tgas, double h2col, double coldens, int method);

{% if info.device == "gpu" %}
__device__
{% endif %}
double N2shielding(double tgas, double h2col, double coldens, int method);

{% if info.device == "gpu" %}
__device__
{% endif %}
double H2shieldingInt(double coldens);

{% if info.device == "gpu" %}
__device__
{% endif %}
double COshieldingInt(double tgas, double h2col, double coldens);

{% if info.device == "gpu" %}
__device__
{% endif %}
double N2shieldingInt(double tgas, double h2col, double coldens);

#endif