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

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

+ Collaboration diagram for Hypercube:

Public Member Functions

 Hypercube ()
 
 ~Hypercube ()
 
void init (double ****, double *)
 
void construct_polyhedrons (double)
 
int get_Npolyhedrons ()
 
Polyhedronget_polyhedrons ()
 
 Hypercube ()
 
 ~Hypercube ()
 
void init (double ****, double *)
 
void construct_polyhedrons (double)
 
int get_Npolyhedrons ()
 
Polyhedronget_polyhedrons ()
 
 Hypercube ()
 
 ~Hypercube ()
 
void init (double ****, double *)
 
void construct_polyhedrons (double)
 
int get_Npolyhedrons ()
 
Polyhedronget_polyhedrons ()
 
 Hypercube ()
 
 ~Hypercube ()
 
void init (double ****, double *)
 
void construct_polyhedrons (double)
 
int get_Npolyhedrons ()
 
Polyhedronget_polyhedrons ()
 

Private Member Functions

void split_to_cubes ()
 
void check_ambiguous (double)
 
void split_to_cubes ()
 
void check_ambiguous (double)
 
void split_to_cubes ()
 
void check_ambiguous (double)
 
void split_to_cubes ()
 
void check_ambiguous (double)
 

Private Attributes

double **** hcube
 
Polyhedronpolyhedrons
 
Polygon ** polygons
 
Cubecubes
 
int Npolyhedrons
 
int ambiguous
 
int x1
 
int x2
 
int x3
 
int x4
 
doubledx
 

Static Private Attributes

static const int DIM = 4
 
static const int MAX_POLY = 10
 
static const int NCUBES = 8
 
static const int STEPS = 2
 

Detailed Description

This class handles 4d-cubes. Splits them into cubes and collects the polygons from the cubes and form polyhedrons from these.

This class handles 4d-cubes. Splits them into squares and collects polygons from the lines given from squares.

13.10.2011 Hannu Holopainen

Definition at line 1699 of file cornelius.cpp.

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

Constructor & Destructor Documentation

Hypercube::Hypercube ( )

Constructor allocates memory.

Definition at line 1730 of file cornelius.cpp.

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

References i, j, and k.

Hypercube::~Hypercube ( )

Destructor frees memory allocated in the constructor.

Definition at line 1752 of file cornelius.cpp.

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

References i, j, and k.

Hypercube::Hypercube ( )
Hypercube::~Hypercube ( )
Hypercube::Hypercube ( )
Hypercube::~Hypercube ( )
Hypercube::Hypercube ( )
Hypercube::~Hypercube ( )

Member Function Documentation

void Hypercube::check_ambiguous ( double  )
private
void Hypercube::check_ambiguous ( double  )
private
void Hypercube::check_ambiguous ( double  value0)
private

Checks if the surface is ambiguous in this hypercube.

Definition at line 1924 of file cornelius.cpp.

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

References i.

void Hypercube::check_ambiguous ( double  )
private
void Hypercube::construct_polyhedrons ( double  )
void Hypercube::construct_polyhedrons ( double  )
void Hypercube::construct_polyhedrons ( double  value0)

Here we construct polyhedrons from the polygons. First we check if the surface is ambiguous and if it is not amibiguous we add all polygons to a single polyhedron. If surface is ambiguous we need to connect the polygons one by one and see in the end how many polyhedrons we have.

Definition at line 1858 of file cornelius.cpp.

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

References i, j, and merge_hashes::p.

void Hypercube::construct_polyhedrons ( double  )
int Hypercube::get_Npolyhedrons ( )
int Hypercube::get_Npolyhedrons ( )
int Hypercube::get_Npolyhedrons ( )
int Hypercube::get_Npolyhedrons ( )

Returns the number of polyhedrons in this cube.

Returns
Number of polyhedrons in this hypercube

Definition at line 1972 of file cornelius.cpp.

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

Polyhedron* Hypercube::get_polyhedrons ( )
Polyhedron* Hypercube::get_polyhedrons ( )
Polyhedron* Hypercube::get_polyhedrons ( )
Polyhedron * Hypercube::get_polyhedrons ( )

Returns a table containing the polyhedrons found from this square.

Returns
List of polyhedrons found from hypercube

Definition at line 1984 of file cornelius.cpp.

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

void Hypercube::init ( double ****  ,
double  
)
void Hypercube::init ( double ****  ,
double  
)
void Hypercube::init ( double ****  c,
double dex 
)

Initialized the hypercube. Can be used several times to replace the old hypercube with a new one

Parameters
[in]cValues at the corners of cube
[in]dexLenghts of the sides

Definition at line 1778 of file cornelius.cpp.

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

References i, j, and k.

void Hypercube::init ( double ****  ,
double  
)
void Hypercube::split_to_cubes ( )
private
void Hypercube::split_to_cubes ( )
private
void Hypercube::split_to_cubes ( )
private
void Hypercube::split_to_cubes ( )
private

Splits given hypercube to cubes.

Definition at line 1806 of file cornelius.cpp.

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

References i, and j.

Member Data Documentation

int Hypercube::ambiguous
private

Definition at line 1711 of file cornelius.cpp.

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

Cube * Hypercube::cubes
private

Definition at line 1709 of file cornelius.cpp.

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

static const int Hypercube::DIM = 4
staticprivate

Definition at line 1702 of file cornelius.cpp.

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

double * Hypercube::dx
private

Definition at line 1713 of file cornelius.cpp.

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

double **** Hypercube::hcube
private

Definition at line 1706 of file cornelius.cpp.

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

static const int Hypercube::MAX_POLY = 10
staticprivate

Definition at line 1703 of file cornelius.cpp.

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

static const int Hypercube::NCUBES = 8
staticprivate

Definition at line 1704 of file cornelius.cpp.

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

int Hypercube::Npolyhedrons
private

Definition at line 1710 of file cornelius.cpp.

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

Polygon ** Hypercube::polygons
private

Definition at line 1708 of file cornelius.cpp.

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

Polyhedron * Hypercube::polyhedrons
private

Definition at line 1707 of file cornelius.cpp.

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

static const int Hypercube::STEPS = 2
staticprivate

Definition at line 1705 of file cornelius.cpp.

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

int Hypercube::x1
private

Definition at line 1712 of file cornelius.cpp.

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

int Hypercube::x2
private

Definition at line 1712 of file cornelius.cpp.

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

int Hypercube::x3
private

Definition at line 1712 of file cornelius.cpp.

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

int Hypercube::x4
private

Definition at line 1712 of file cornelius.cpp.

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


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