CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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< T > 
SurfacePointer
 

Private Attributes

ConstReferenceCountingPointer< T > theSurface
 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,theSurface->bounds()));
30  if ( mp ) newSurface->setMediumProperties(const_cast<MediumProperties*>(mp));
31  return newSurface;
32  }
ReferenceCountingPointer< T > SurfacePointer
ConstReferenceCountingPointer< T > theSurface
original surface

Member Data Documentation

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

original surface

Definition at line 36 of file ModifiedSurfaceGenerator.h.

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