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 16 of file ModifiedSurfaceGenerator.h.

Member Typedef Documentation

◆ SurfacePointer

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

Definition at line 18 of file ModifiedSurfaceGenerator.h.

Constructor & Destructor Documentation

◆ ModifiedSurfaceGenerator() [1/2]

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

constructor from pointer

Definition at line 22 of file ModifiedSurfaceGenerator.h.

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

◆ ModifiedSurfaceGenerator() [2/2]

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

constructor from ReferenceCountingPointer

Definition at line 24 of file ModifiedSurfaceGenerator.h.

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

Member Function Documentation

◆ atNewPosition()

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 27 of file ModifiedSurfaceGenerator.h.

References position, idealTransformation::rotation, and 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
static int position[264][3]
Definition: ReadPGInfo.cc:289
long double T

Member Data Documentation

◆ theSurface

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

original surface

Definition at line 35 of file ModifiedSurfaceGenerator.h.

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