EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <EicRoot/blob/master/eic/cad/EicStlMediaGroup.h>
Public Member Functions | |
EicStlMediaGroup () | |
~EicStlMediaGroup () | |
const vEntry * | vertices (void) const |
const eEntry * | edges (void) const |
const fEntry * | facets (void) const |
const std::vector < EicStlAssembly * > & | assemblies (void) const |
void | AddVertex (EicStlVertex *vertex) |
int | SplitIntoAssemblies (double tolerance=0.0, bool easy=false) |
Public Attributes | |
std::multimap< double, EicStlVertex * > | xCoord |
std::multimap< double, EicStlVertex * > | yCoord |
std::multimap< double, EicStlVertex * > | zCoord |
std::vector< EicStlFacet * > | mFbuffer |
Private Member Functions | |
void | MergeDegenerateVertices (double tolerance) |
void | AddVertexToCurrentGroup (std::vector< std::vector< EicStlVertex * > > &ngroups, EicStlVertex *vtx) |
void | CalculateFacets (void) |
void | AllocateEdges (void) |
void | CoupleFacetToAssembly (EicStlFacet *facet, bool flip) |
Private Attributes | |
vEntry * | mVertices |
eEntry * | mEdges |
fEntry * | mFacets |
std::vector< EicStlAssembly * > | mAssemblies |
bool | mEdgeTotalOwnerCountOk |
bool | mEdgeSimpleSharingOk |
Definition at line 20 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 20 of file EicStlMediaGroup.h
EicStlMediaGroup::EicStlMediaGroup | ( | ) |
Definition at line 16 of file EicStlMediaGroup.cxx.
View newest version in sPHENIX GitHub at line 16 of file EicStlMediaGroup.cxx
References EicStlKeyCompare(), mEdges, mFacets, and mVertices.
|
inline |
Definition at line 23 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 23 of file EicStlMediaGroup.h
|
inline |
Definition at line 30 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 30 of file EicStlMediaGroup.h
References EicStlVertex::key().
Referenced by EicStlFactory::PreAllocateFacet().
|
private |
Definition at line 26 of file EicStlMediaGroup.cxx.
View newest version in sPHENIX GitHub at line 26 of file EicStlMediaGroup.cxx
References EicStlVertex::DegenerateNeighbors3D(), EicStlVertex::IsMerged(), and EicStlVertex::SetMergedFlag().
Referenced by MergeDegenerateVertices().
|
private |
Definition at line 211 of file EicStlMediaGroup.cxx.
View newest version in sPHENIX GitHub at line 211 of file EicStlMediaGroup.cxx
References EicStlFacetEdge::AddFacet(), EicStlFacetEdge::facets(), EicStlFacetEdge::key(), mEdges, mEdgeSimpleSharingOk, mEdgeTotalOwnerCountOk, mFacets, EicStlVertex::Print(), printf(), EicStlFacet::SetEdge(), EicStlFacetEdge::vertices(), EicStlFacet::vertices(), and vtx().
Referenced by SplitIntoAssemblies().
|
inline |
Definition at line 28 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 28 of file EicStlMediaGroup.h
References mAssemblies.
Referenced by EicStlFactory::_ConstructGeometry(), EicStlFactory::CreateRootFile(), and EicCompositeShape::LocalFillBuffer3D().
|
private |
Definition at line 161 of file EicStlMediaGroup.cxx.
View newest version in sPHENIX GitHub at line 161 of file EicStlMediaGroup.cxx
References EicStlFacet::Calculate(), EicStlVertex::GetMergedVertex(), EicStlVertex::IsMerged(), EicStlFacet::key(), mFacets, mFbuffer, mVertices, EicStlFacet::SetCounter(), EicStlFacet::vertices(), and vtx().
Referenced by SplitIntoAssemblies().
|
private |
Couple facet to the currently populated assembly
facet | facet pointer |
Definition at line 270 of file EicStlMediaGroup.cxx.
View newest version in sPHENIX GitHub at line 270 of file EicStlMediaGroup.cxx
References EicStlFacet::DecrementCounter(), EicStlFacet::edge(), EicStlFacetEdge::facets(), EicStlFacet::GetCounter(), EicStlFacet::GetNormal(), mAssemblies, printf(), rp(), v1, v2, and EicStlFacetEdge::vertices().
Referenced by SplitIntoAssemblies().
|
inline |
Definition at line 26 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 26 of file EicStlMediaGroup.h
References mEdges.
|
inline |
Definition at line 27 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 27 of file EicStlMediaGroup.h
References mFacets.
Referenced by EicCompositeShape::LocalFillBuffer3D().
|
private |
Ordered multimap of edge chains in this STL file; well, they are not necessarily unique?
Definition at line 41 of file EicStlMediaGroup.cxx.
View newest version in sPHENIX GitHub at line 41 of file EicStlMediaGroup.cxx
References EicStlVertex::AddDegenerateNeighbors3D(), AddVertexToCurrentGroup(), EicStlVertex::DegenerateNeighbors1D(), EicStlVertex::DegenerateNeighbors3D(), EicStlKey::GetData(), EicStlVertex::IncrementDegenerateNeighbor1D(), EicStlVertex::IsMerged(), EicStlVertex::key(), mVertices, printf(), EicStlVertex::SetMergedVertex(), Acts::Test::tolerance, vtx(), xCoord, yCoord, and zCoord.
Referenced by SplitIntoAssemblies().
int EicStlMediaGroup::SplitIntoAssemblies | ( | double | tolerance = 0.0 , |
bool | easy = false |
||
) |
Definition at line 370 of file EicStlMediaGroup.cxx.
View newest version in sPHENIX GitHub at line 370 of file EicStlMediaGroup.cxx
References AllocateEdges(), CalculateFacets(), CoupleFacetToAssembly(), EicStlVertex::DistanceToOrigin(), EicStlAssembly::facets(), EicStlVertex::facets(), EicStlFacet::GetCounter(), EicStlKey::GetData(), EicStlFacet::GetNormal(), EicStlVertex::key(), mAssemblies, mEdgeSimpleSharingOk, mEdgeTotalOwnerCountOk, MergeDegenerateVertices(), mVertices, printf(), and vtx().
Referenced by EicStlFactory::_ConstructGeometry(), EicStlFactory::CreateRootFile(), and EicCompositeShape::LocalFillBuffer3D().
|
inline |
Definition at line 25 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 25 of file EicStlMediaGroup.h
References mVertices.
Referenced by EicStlFactory::_ConstructGeometry(), EicCompositeShape::LocalFillBuffer3D(), and EicStlFactory::PreAllocateFacet().
|
private |
Array of identified independent assemblies
Definition at line 46 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 46 of file EicStlMediaGroup.h
Referenced by assemblies(), CoupleFacetToAssembly(), and SplitIntoAssemblies().
|
private |
Ordered map of vertex edges in this STL file
Definition at line 42 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 42 of file EicStlMediaGroup.h
Referenced by AllocateEdges(), edges(), and EicStlMediaGroup().
|
private |
Definition at line 61 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 61 of file EicStlMediaGroup.h
Referenced by AllocateEdges(), and SplitIntoAssemblies().
|
private |
Definition at line 61 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 61 of file EicStlMediaGroup.h
Referenced by AllocateEdges(), and SplitIntoAssemblies().
|
private |
Ordered map of facets in this STL file
Definition at line 44 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 44 of file EicStlMediaGroup.h
Referenced by AllocateEdges(), CalculateFacets(), EicStlMediaGroup(), and facets().
std::vector<EicStlFacet*> EicStlMediaGroup::mFbuffer |
Definition at line 35 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 35 of file EicStlMediaGroup.h
Referenced by CalculateFacets(), and EicStlFactory::PreAllocateFacet().
|
private |
Ordered map of vertices in this STL file
Definition at line 40 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 40 of file EicStlMediaGroup.h
Referenced by CalculateFacets(), EicStlMediaGroup(), MergeDegenerateVertices(), SplitIntoAssemblies(), and vertices().
std::multimap<double, EicStlVertex*> EicStlMediaGroup::xCoord |
Definition at line 34 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 34 of file EicStlMediaGroup.h
Referenced by MergeDegenerateVertices(), and EicStlFactory::PreAllocateFacet().
std::multimap<double, EicStlVertex*> EicStlMediaGroup::yCoord |
Definition at line 34 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 34 of file EicStlMediaGroup.h
Referenced by MergeDegenerateVertices(), and EicStlFactory::PreAllocateFacet().
std::multimap<double, EicStlVertex*> EicStlMediaGroup::zCoord |
Definition at line 34 of file EicStlMediaGroup.h.
View newest version in sPHENIX GitHub at line 34 of file EicStlMediaGroup.h
Referenced by MergeDegenerateVertices(), and EicStlFactory::PreAllocateFacet().