CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ModifiedSurfaceGenerator.h
Go to the documentation of this file.
1 #ifndef ModifiedSurfaceGenerator_h_
2 #define ModifiedSurfaceGenerator_h_
3 
5 
9 template <class T> class ConstReferenceCountingPointer;
10 template <class T> class ReferenceCountingPointer;
11 class MediumProperties;
12 
13 template <class T> class ModifiedSurfaceGenerator {
14 private:
16 
17 public:
19  ModifiedSurfaceGenerator (const T* surface) :
20  theSurface(surface) {}
23  theSurface(surface.get()) {}
27  const Surface::RotationType& rotation) const {
28  const MediumProperties & mp = theSurface->mediumProperties();
29  SurfacePointer newSurface(new T(position, rotation,mp, theSurface->bounds().clone()));
30  return newSurface;
31  }
32 
33 private:
36 };
37 
38 #endif
ReferenceCountingPointer< T > SurfacePointer
ModifiedSurfaceGenerator(const T *surface)
constructor from pointer
SurfacePointer atNewPosition(const Surface::PositionType &position, const Surface::RotationType &rotation) const
ConstReferenceCountingPointer< T > theSurface
original surface
static int position[264][3]
Definition: ReadPGInfo.cc:509
long double T
ModifiedSurfaceGenerator(const SurfacePointer surface)
constructor from ReferenceCountingPointer
T get(const Candidate &c)
Definition: component.h:55