XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
Projection< Device > Struct Template Reference

#include <ff_projection.hpp>

Collaboration diagram for Projection< Device >:
Collaboration graph
[legend]

Public Types

enum  Method { OneStep =0, TwoSteps }
 

Public Member Functions

 Projection ()
 
 Projection (NLReader::NamelistReader &nlr, const MagneticField< DeviceType > &magnetic_field, Method method, bool node_based, const Plane< DeviceType > &plane_start0, const Plane< DeviceType > &plane_dest0, double phi_start0, double phi_dest0, const View< int **, CLayout, DeviceType > &tr_node_dest0, const Plane< DeviceType > &plane_start1, const Plane< DeviceType > &plane_dest1, double phi_start1, double phi_dest1, const View< int **, CLayout, DeviceType > &tr_node_dest1)
 
template<class Device2 >
Projection< Device2 > mirror () const
 
 Projection (const DomainDecomposition< DeviceType > &pol_decomp, const Projection< HostType > &proj_in, int iphi)
 

Public Attributes

bool node_based
 
View< int **, CLayout, Device > tr
 The triangles that are mapped to by the projection. One-indexed. More...
 
View< int ***, CLayout, Device > nd
 The nodes of the three vertices of the triangles that are mapped to by the projection. Zero-indexed (!) More...
 
View< double ***, CLayout, Device > p
 
View< double **, CLayout, Device > dx
 

Friends

template<class Device2 >
class Projection
 

Member Enumeration Documentation

template<class Device>
enum Projection::Method
Enumerator
OneStep 
TwoSteps 

Constructor & Destructor Documentation

template<class Device>
Projection< Device >::Projection ( )
inline
template<class Device>
Projection< Device >::Projection ( NLReader::NamelistReader nlr,
const MagneticField< DeviceType > &  magnetic_field,
Method  method,
bool  node_based,
const Plane< DeviceType > &  plane_start0,
const Plane< DeviceType > &  plane_dest0,
double  phi_start0,
double  phi_dest0,
const View< int **, CLayout, DeviceType > &  tr_node_dest0,
const Plane< DeviceType > &  plane_start1,
const Plane< DeviceType > &  plane_dest1,
double  phi_start1,
double  phi_dest1,
const View< int **, CLayout, DeviceType > &  tr_node_dest1 
)
template<class Device>
Projection< Device >::Projection ( const DomainDecomposition< DeviceType > &  pol_decomp,
const Projection< HostType > &  proj_in,
int  iphi 
)

Member Function Documentation

template<class Device>
template<class Device2 >
Projection<Device2> Projection< Device >::mirror ( ) const
inline

Friends And Related Function Documentation

template<class Device>
template<class Device2 >
friend class Projection
friend

Member Data Documentation

template<class Device>
View<double**,CLayout,Device> Projection< Device >::dx
template<class Device>
View<int***,CLayout,Device> Projection< Device >::nd

The nodes of the three vertices of the triangles that are mapped to by the projection. Zero-indexed (!)

template<class Device>
bool Projection< Device >::node_based

Whether to save triangle indices or node indices. The node-based method uses 3X more memory, but means that get_node_index doesn't need to be called when projecting; this means that the start plane is not needed.

template<class Device>
View<double***,CLayout,Device> Projection< Device >::p
template<class Device>
View<int**,CLayout,Device> Projection< Device >::tr

The triangles that are mapped to by the projection. One-indexed.


The documentation for this struct was generated from the following file: