CMS 3D CMS Logo

ModifiedSurfaceGenerator.h
Go to the documentation of this file.
1 #ifndef ModifiedSurfaceGenerator_h_
2 #define ModifiedSurfaceGenerator_h_
3 
5 
9 template <class T>
11 template <class T>
13 class MediumProperties;
14 
15 template <class T>
17 private:
19 
20 public:
22  ModifiedSurfaceGenerator(const T* surface) : theSurface(surface) {}
24  ModifiedSurfaceGenerator(const SurfacePointer surface) : theSurface(surface.get()) {}
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:289
#define get
long double T
ModifiedSurfaceGenerator(const SurfacePointer surface)
constructor from ReferenceCountingPointer