CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Attributes
ModifiedSurfaceGenerator< T > Class Template Reference

#include <ModifiedSurfaceGenerator.h>

Public Member Functions

SurfacePointer atNewPosition (const Surface::PositionType &position, const Surface::RotationType &rotation) const
 
 ModifiedSurfaceGenerator (const T *surface)
 constructor from pointer More...
 
 ModifiedSurfaceGenerator (const SurfacePointer surface)
 constructor from ReferenceCountingPointer More...
 

Private Types

typedef ReferenceCountingPointer< TSurfacePointer
 

Private Attributes

ConstReferenceCountingPointer< TtheSurface
 original surface More...
 

Detailed Description

template<class T>
class ModifiedSurfaceGenerator< T >

Definition at line 13 of file ModifiedSurfaceGenerator.h.

Member Typedef Documentation

template<class T >
typedef ReferenceCountingPointer<T> ModifiedSurfaceGenerator< T >::SurfacePointer
private

Definition at line 15 of file ModifiedSurfaceGenerator.h.

Constructor & Destructor Documentation

template<class T >
ModifiedSurfaceGenerator< T >::ModifiedSurfaceGenerator ( const T surface)
inline

constructor from pointer

Definition at line 19 of file ModifiedSurfaceGenerator.h.

19  :
20  theSurface(surface) {}
ConstReferenceCountingPointer< T > theSurface
original surface
template<class T >
ModifiedSurfaceGenerator< T >::ModifiedSurfaceGenerator ( const SurfacePointer  surface)
inline

constructor from ReferenceCountingPointer

Definition at line 22 of file ModifiedSurfaceGenerator.h.

22  :
23  theSurface(surface.get()) {}
ConstReferenceCountingPointer< T > theSurface
original surface

Member Function Documentation

template<class T >
SurfacePointer ModifiedSurfaceGenerator< T >::atNewPosition ( const Surface::PositionType position,
const Surface::RotationType rotation 
) const
inline

creation of a new surface at a different position, but with identical Bounds and MediumProperties

Definition at line 26 of file ModifiedSurfaceGenerator.h.

References ModifiedSurfaceGenerator< T >::theSurface.

27  {
28  const MediumProperties & mp = theSurface->mediumProperties();
29  SurfacePointer newSurface(new T(position, rotation,mp, theSurface->bounds().clone()));
30  return newSurface;
31  }
ReferenceCountingPointer< T > SurfacePointer
ConstReferenceCountingPointer< T > theSurface
original surface
long double T

Member Data Documentation

template<class T >
ConstReferenceCountingPointer<T> ModifiedSurfaceGenerator< T >::theSurface
private

original surface

Definition at line 35 of file ModifiedSurfaceGenerator.h.

Referenced by ModifiedSurfaceGenerator< T >::atNewPosition().