EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EicStlFacetEdge.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file EicStlFacetEdge.h
1 //
2 // AYK (ayk@bnl.gov), 2014/01/08; revamped in Oct'2017;
3 //
4 // EicRoot CAD manipulation routines; facet edge class;
5 //
6 
7 #include <EicStlVertex.h>
8 
9 class EicStlFacet;
10 class EicStlAssembly;
11 
12 #ifndef _EIC_STL_FACET_EDGE_
13 #define _EIC_STL_FACET_EDGE_
14 
19  public:
24  EicStlFacetEdge(EicStlVertex * const v1, EicStlVertex * const v2);
28  // FIXME: unify with EicStlFacet;
29  if (mKey) delete mKey;
30 
31  if (mVertices) {
32  mVertices->clear();
33  delete mVertices;
34  } //if
35  };
36 
39  const EicStlKey *key() const { return mKey; };
40  void AddFacet(EicStlFacet *facet) { mFacets.push_back(facet); };
41  const std::vector<EicStlFacet*> &facets( void ) const { return mFacets; };
42  const vEntry *vertices( void ) const { return mVertices; };
43 
44  private:
46  EicStlKey *mKey;
47 
48  // Pointers to the two (ordered) vertices;
50 
52  std::vector<EicStlFacet*> mFacets;
53 };
54 
55 #endif