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,theSurface->bounds()));
30  if ( mp ) newSurface->setMediumProperties(const_cast<MediumProperties*>(mp));
31  return newSurface;
32  }
33 
34 private:
37 };
38 
39 #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:56