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

#include <trajestep.h>

+ Inheritance diagram for Heed::trajestep_limit:

Public Member Functions

 trajestep_limit (vfloat fmax_range, vfloat frad_for_straight, vfloat fmax_straight_arange, vfloat fmax_circumf_arange)
 Constructor.
 
void range (int fs_cf0, vfloat rad, int &fs_cf1, vfloat &mrange) const
 
- 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
 

Public Attributes

vfloat max_range
 
vfloat rad_for_straight
 Radius beyond which to prefer straight lines to reduce calculation time.
 
vfloat max_straight_arange
 Angle of range if it goes along straight line, but s_cf == 1.
 
vfloat max_circumf_arange
 Angle of range if it goes along circle.
 

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 20 of file trajestep.h.

Constructor & Destructor Documentation

◆ trajestep_limit()

Heed::trajestep_limit::trajestep_limit ( vfloat  fmax_range,
vfloat  frad_for_straight,
vfloat  fmax_straight_arange,
vfloat  fmax_circumf_arange 
)
inline

Constructor.

Definition at line 23 of file trajestep.h.

25 : max_range(fmax_range),
26 rad_for_straight(frad_for_straight),
27 max_straight_arange(fmax_straight_arange),
28 max_circumf_arange(fmax_circumf_arange) {}
vfloat max_straight_arange
Angle of range if it goes along straight line, but s_cf == 1.
Definition: trajestep.h:38
vfloat max_circumf_arange
Angle of range if it goes along circle.
Definition: trajestep.h:40
vfloat rad_for_straight
Radius beyond which to prefer straight lines to reduce calculation time.
Definition: trajestep.h:35

Member Function Documentation

◆ range()

void Heed::trajestep_limit::range ( int  fs_cf0,
vfloat  rad,
int &  fs_cf1,
vfloat mrange 
) const

Definition at line 16 of file trajestep.cpp.

17 {
18 if (mrange < 0 || mrange > max_range) mrange = max_range;
19 fs_cf1 = fs_cf0;
20 if (fs_cf1 != 1) return;
21 if (rad >= rad_for_straight) {
22 fs_cf1 = 0;
23 mrange = std::min(mrange, rad * max_straight_arange);
24 } else {
25 mrange = std::min(mrange, rad * max_circumf_arange);
26 }
27}

Member Data Documentation

◆ max_circumf_arange

vfloat Heed::trajestep_limit::max_circumf_arange

Angle of range if it goes along circle.

Definition at line 40 of file trajestep.h.

Referenced by range().

◆ max_range

vfloat Heed::trajestep_limit::max_range

Definition at line 31 of file trajestep.h.

Referenced by range().

◆ max_straight_arange

vfloat Heed::trajestep_limit::max_straight_arange

Angle of range if it goes along straight line, but s_cf == 1.

Definition at line 38 of file trajestep.h.

Referenced by Heed::gparticle::calc_step_to_bord(), and range().

◆ rad_for_straight

vfloat Heed::trajestep_limit::rad_for_straight

Radius beyond which to prefer straight lines to reduce calculation time.

Definition at line 35 of file trajestep.h.

Referenced by range().


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