Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Line Class Reference

#include <JETSCAPE/blob/main/external_packages/cornelius.h>

+ Inheritance diagram for Line:
+ Collaboration diagram for Line:

Public Member Functions

 Line ()
 
 ~Line ()
 
void init (double **, double *, int *)
 
void flip_start_end ()
 
doubleget_start ()
 
doubleget_end ()
 
doubleget_out ()
 
 Line ()
 
 ~Line ()
 
void init (double **, double *, int *)
 
void flip_start_end ()
 
doubleget_start ()
 
doubleget_end ()
 
doubleget_out ()
 
 Line ()
 
 ~Line ()
 
void init (double **, double *, int *)
 
void flip_start_end ()
 
doubleget_start ()
 
doubleget_end ()
 
doubleget_out ()
 
 Line ()
 
 ~Line ()
 
void init (double **, double *, int *)
 
void flip_start_end ()
 
doubleget_start ()
 
doubleget_end ()
 
doubleget_out ()
 
- Public Member Functions inherited from GeneralElement
 GeneralElement ()
 
 ~GeneralElement ()
 
doubleget_centroid ()
 
doubleget_normal ()
 
 GeneralElement ()
 
 ~GeneralElement ()
 
doubleget_centroid ()
 
doubleget_normal ()
 
 GeneralElement ()
 
 ~GeneralElement ()
 
doubleget_centroid ()
 
doubleget_normal ()
 
 GeneralElement ()
 
 ~GeneralElement ()
 
doubleget_centroid ()
 
doubleget_normal ()
 

Private Member Functions

void calculate_centroid ()
 
void calculate_normal ()
 
void calculate_centroid ()
 
void calculate_normal ()
 
void calculate_centroid ()
 
void calculate_normal ()
 
void calculate_centroid ()
 
void calculate_normal ()
 

Private Attributes

int x1
 
int x2
 
int start_point
 
int end_point
 
double ** corners
 
doubleout
 
int * const_i
 

Static Private Attributes

static const int LINE_CORNERS = 2
 
static const int LINE_DIM = 2
 

Additional Inherited Members

- Protected Member Functions inherited from GeneralElement
void check_normal_direction (double *normal, double *out)
 
void check_normal_direction (double *normal, double *out)
 
void check_normal_direction (double *normal, double *out)
 
void check_normal_direction (double *normal, double *out)
 
- Protected Attributes inherited from GeneralElement
doublecentroid
 
doublenormal
 
int normal_calculated
 
int centroid_calculated
 
- Static Protected Attributes inherited from GeneralElement
static const int DIM = 4
 

Detailed Description

This class is used for line elements gotten from the squares. Can calculate the centroid and normal of the line.

Definition at line 143 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 143 of file cornelius.cpp

Constructor & Destructor Documentation

Line::Line ( )

Constructor allocates memory for end points, point which is always outside and indices of the elements which are constant.

Definition at line 172 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 172 of file cornelius.cpp

References i, and out.

Line::~Line ( )

Frees memory allocated in constructor.

Definition at line 188 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 188 of file cornelius.cpp

References i, and out.

Line::Line ( )
Line::~Line ( )
Line::Line ( )
Line::~Line ( )
Line::Line ( )
Line::~Line ( )

Member Function Documentation

void Line::calculate_centroid ( )
privatevirtual

Reimplemented from GeneralElement.

void Line::calculate_centroid ( )
privatevirtual

Reimplemented from GeneralElement.

void Line::calculate_centroid ( )
privatevirtual

Determines the centroid for a line. Thus this a very trivial operation.

Reimplemented from GeneralElement.

Definition at line 259 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 259 of file cornelius.cpp

References i.

void Line::calculate_centroid ( )
privatevirtual

Reimplemented from GeneralElement.

void Line::calculate_normal ( )
privatevirtual

Reimplemented from GeneralElement.

void Line::calculate_normal ( )
privatevirtual

Reimplemented from GeneralElement.

void Line::calculate_normal ( )
privatevirtual

Reimplemented from GeneralElement.

void Line::calculate_normal ( )
privatevirtual

Calculates the normal vector for a line.

Reimplemented from GeneralElement.

Definition at line 273 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 273 of file cornelius.cpp

References j, and out.

void Line::flip_start_end ( )
void Line::flip_start_end ( )
void Line::flip_start_end ( )

Flips the start and end point of the line.

Definition at line 298 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 298 of file cornelius.cpp

Referenced by Polygon::add_line().

+ Here is the caller graph for this function:

void Line::flip_start_end ( )
double* Line::get_end ( )
double* Line::get_end ( )
double* Line::get_end ( )
double * Line::get_end ( )

Returns the end point in 4d as double*.

Returns
End point as a table

Definition at line 324 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 324 of file cornelius.cpp

Referenced by Polygon::add_line(), Polyhedron::calculate_centroid(), Polyhedron::calculate_normal(), and Polyhedron::lines_equal().

+ Here is the caller graph for this function:

double* Line::get_out ( )
double* Line::get_out ( )
double* Line::get_out ( )
double * Line::get_out ( )

Returns the point, which is always outside, in 4d as double*.

Returns
Point which is always outside as a table

Definition at line 336 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 336 of file cornelius.cpp

References out.

Referenced by Polyhedron::calculate_normal().

+ Here is the caller graph for this function:

double* Line::get_start ( )
double* Line::get_start ( )
double * Line::get_start ( )

Returns the start point in 4d as double*.

Returns
Start point as a table

Definition at line 312 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 312 of file cornelius.cpp

Referenced by Polygon::add_line(), Polyhedron::calculate_centroid(), Polyhedron::calculate_normal(), and Polyhedron::lines_equal().

+ Here is the caller graph for this function:

double* Line::get_start ( )
void Line::init ( double **  ,
double ,
int *   
)
void Line::init ( double **  ,
double ,
int *   
)
void Line::init ( double **  p,
double o,
int *  c 
)

Initializes line element. Same element can be initialized several times with this function.

Parameters
[in]pTable containing end points
[in]oTable containing point which is outside surface
[in]oTable containing constant indices

Definition at line 208 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 208 of file cornelius.cpp

References i, j, and out.

void Line::init ( double **  ,
double ,
int *   
)

Member Data Documentation

int * Line::const_i
private

Definition at line 153 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 153 of file cornelius.cpp

double ** Line::corners
private

Definition at line 151 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 151 of file cornelius.cpp

int Line::end_point
private

Definition at line 150 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 150 of file cornelius.cpp

static const int Line::LINE_CORNERS = 2
staticprivate

Definition at line 146 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 146 of file cornelius.cpp

static const int Line::LINE_DIM = 2
staticprivate

Definition at line 147 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 147 of file cornelius.cpp

double * Line::out
private

Definition at line 152 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 152 of file cornelius.cpp

int Line::start_point
private

Definition at line 149 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 149 of file cornelius.cpp

int Line::x1
private

Definition at line 148 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 148 of file cornelius.cpp

int Line::x2
private

Definition at line 148 of file cornelius.cpp.

View newest version in sPHENIX GitHub at line 148 of file cornelius.cpp


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