Garfield++ v2r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
Heed::ElElasticScatLowSigma Class Reference

#include <ElElasticScat.h>

+ Inheritance diagram for Heed::ElElasticScatLowSigma:

Public Member Functions

double get_mean_coef (const long Z, const long ne) const
 
double get_coef (const long Z, const long ne) const
 
long get_qscat (void) const
 
ElElasticScatget_ees (void) const
 
 ElElasticScatLowSigma (void)
 
 ElElasticScatLowSigma (ElElasticScat *fees, const std::string &file_name)
 
- Public Member Functions inherited from Heed::RegPassivePtr
 RegPassivePtr (void)
 
 RegPassivePtr (char fs_ban_del, char fs_ban_sub, char fs_ban_cop=0)
 
 RegPassivePtr (const RegPassivePtr &f)
 
RegPassivePtroperator= (const RegPassivePtr &f)
 
CountPP_ns::CountPassivePtrbook (void) const
 
void clear_pointers (void) const
 
virtual RegPassivePtrcopy () const
 
virtual ~RegPassivePtr ()
 
virtual void print (std::ostream &file, int l=1) const
 
void set_s_ban_del (char fs_ban_del)
 
char get_s_ban_del (void) const
 
void set_s_ban_sub (char fs_ban_sub)
 
char get_s_ban_sub (void) const
 
void set_s_ban_cop (char fs_ban_cop)
 
char get_s_ban_cop (void) const
 
void set_s_allow_del_at_zero_count (char fs_allow_del_at_zero_count)
 
char get_s_allow_del_at_zero_count (void) const
 
long get_total_number_of_references (void) const
 

Additional Inherited Members

- Static Public Member Functions inherited from Heed::RegPassivePtr
static void set_s_ban_del_ignore (char fs_ban_del_ignore)
 
static char get_s_ban_del_ignore (void)
 
static void set_s_print_adr_cpp (char fs_print_adr_cpp)
 
static char get_s_print_adr_cpp (void)
 

Detailed Description

Definition at line 78 of file ElElasticScat.h.

Constructor & Destructor Documentation

◆ ElElasticScatLowSigma() [1/2]

Heed::ElElasticScatLowSigma::ElElasticScatLowSigma ( void  )
inline

Definition at line 86 of file ElElasticScat.h.

86{}

◆ ElElasticScatLowSigma() [2/2]

Heed::ElElasticScatLowSigma::ElElasticScatLowSigma ( ElElasticScat fees,
const std::string &  file_name 
)

Definition at line 264 of file ElElasticScat.cpp.

266 : ees(fees) {
267 mfunnamep("ElElasticScatLowSigma::ElElasticScatLowSigma(...)");
268 std::ifstream file(file_name.c_str());
269 if (!file) {
270 funnw.ehdr(mcerr);
271 mcerr << "cannot open file " << file_name << std::endl;
272 spexit(mcerr);
273 }
274 int i = findmark(file, "$");
275 check_econd11(i, != 1, mcerr);
276 file >> qat >> qscat;
277 check_econd11(qat, <= 0, mcerr);
278 check_econd11(qscat, <= 0, mcerr);
279 mean_coef.resize(qat);
280 coef.resize(qat);
281 for (long nat = 0; nat < qat; ++nat) {
282 mean_coef[nat].resize(ees->get_qe());
283 coef[nat].resize(ees->get_qe());
284 long z;
285 file >> z;
286 check_econd12(z, !=, nat + 1, mcerr);
287 for (long ne = 0; ne < ees->get_qe(); ++ne) {
288 long fne;
289 double e;
290 mean_coef[nat][ne] = 0.0;
291 coef[nat][ne] = 0.0;
292 file >> fne >> e >> mean_coef[nat][ne] >> coef[nat][ne];
293 check_econd12(fne, !=, ne, mcerr);
294 check_econd12(e, !=, ees->get_energy_mesh(ne), mcerr);
295 check_econd11(mean_coef[nat][ne], <= 0, mcerr);
296 check_econd11(coef[nat][ne], <= 0, mcerr);
297 }
298 }
299}
#define check_econd11(a, signb, stream)
Definition: FunNameStack.h:155
#define mfunnamep(string)
Definition: FunNameStack.h:49
#define spexit(stream)
Definition: FunNameStack.h:256
#define check_econd12(a, sign, b, stream)
Definition: FunNameStack.h:163
int findmark(std::istream &file, const char *s)
Definition: findmark.cpp:19
#define mcerr
Definition: prstream.h:128

Member Function Documentation

◆ get_coef()

double Heed::ElElasticScatLowSigma::get_coef ( const long  Z,
const long  ne 
) const
inline

Definition at line 83 of file ElElasticScat.h.

83{ return coef[Z - 1][ne]; }

◆ get_ees()

ElElasticScat * Heed::ElElasticScatLowSigma::get_ees ( void  ) const
inline

Definition at line 85 of file ElElasticScat.h.

85{ return ees.get(); }

◆ get_mean_coef()

double Heed::ElElasticScatLowSigma::get_mean_coef ( const long  Z,
const long  ne 
) const
inline

Definition at line 80 of file ElElasticScat.h.

80 {
81 return mean_coef[Z - 1][ne];
82 }

◆ get_qscat()

long Heed::ElElasticScatLowSigma::get_qscat ( void  ) const
inline

Definition at line 84 of file ElElasticScat.h.

84{ return qscat; }

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