DD4hep  1.28.0
Detector Description Toolkit for High Energy Physics
Public Types | Public Member Functions | Protected Attributes | List of all members
dd4hep::rec::SurfaceType Class Reference

#include <ISurface.h>

Public Types

enum  SurfaceTypes {
  Cylinder = 0, Plane, Sensitive, Helper,
  ParallelToZ, OrthogonalToZ, Invisible, Measurement1D,
  Cone, Unbounded
}
 enum for defining the bits used to decode the properties More...
 

Public Member Functions

 SurfaceType ()
 default c'tor More...
 
 SurfaceType (unsigned prop0)
 
 SurfaceType (unsigned prop0, unsigned prop1)
 
 SurfaceType (unsigned prop0, unsigned prop1, unsigned prop2)
 
 SurfaceType (unsigned prop0, unsigned prop1, unsigned prop2, unsigned prop3)
 
 SurfaceType (unsigned prop0, unsigned prop1, unsigned prop2, unsigned prop3, unsigned prop4)
 
void setProperty (unsigned prop, bool val=true)
 set the given peorperty More...
 
bool isSensitive () const
 true if surface is sensitive More...
 
bool isHelper () const
 true if surface is helper surface for navigation More...
 
bool isPlane () const
 true if this a planar surface More...
 
bool isCylinder () const
 true if this a cylindrical surface More...
 
bool isCone () const
 true if this a conical surface More...
 
bool isParallelToZ () const
 true if surface is parallel to Z More...
 
bool isOrthogonalToZ () const
 true if surface is orthogonal to Z More...
 
bool isVisible () const
 true if surface is not invisble - for drawing only More...
 
bool isZCylinder () const
 true if this is a cylinder parallel to Z More...
 
bool isZCone () const
 true if this is a cone parallel to Z More...
 
bool isZPlane () const
 true if this is a plane parallel to Z More...
 
bool isZDisk () const
 true if this is a plane orthogonal to Z More...
 
bool isMeasurement1D () const
 true if the measurement is only 1D, i.e. the second direction v is not used More...
 
bool isUnbounded () const
 true if the surface is unbounded ( ISurface::insideBounds() does not check volume boundaries) More...
 
bool isSimilar (const SurfaceType &otherType) const
 true if all properties of otherType are also true for this type. More...
 
bool checkParallelToZ (const ISurface &surf, double epsilon=1.e-6) const
 
bool checkOrthogonalToZ (const ISurface &surf, double epsilon=1.e-6) const
 

Protected Attributes

std::bitset< 32 > _bits
 

Detailed Description

Helper class for describing surface properties. Usage: SurfaceType type( SurfaceType::Plane, SurfaceType::Sensitive ) ;

Author
F. Gaede, DESY
Version
$Id$
Date
Apr 6 2014

Definition at line 140 of file ISurface.h.

Member Enumeration Documentation

◆ SurfaceTypes

enum for defining the bits used to decode the properties

Enumerator
Cylinder 
Plane 
Sensitive 
Helper 
ParallelToZ 
OrthogonalToZ 
Invisible 
Measurement1D 
Cone 
Unbounded 

Definition at line 144 of file ISurface.h.

Constructor & Destructor Documentation

◆ SurfaceType() [1/6]

dd4hep::rec::SurfaceType::SurfaceType ( )
inline

default c'tor

Definition at line 158 of file ISurface.h.

◆ SurfaceType() [2/6]

dd4hep::rec::SurfaceType::SurfaceType ( unsigned  prop0)
inline

Definition at line 161 of file ISurface.h.

◆ SurfaceType() [3/6]

dd4hep::rec::SurfaceType::SurfaceType ( unsigned  prop0,
unsigned  prop1 
)
inline

Definition at line 166 of file ISurface.h.

◆ SurfaceType() [4/6]

dd4hep::rec::SurfaceType::SurfaceType ( unsigned  prop0,
unsigned  prop1,
unsigned  prop2 
)
inline

Definition at line 172 of file ISurface.h.

◆ SurfaceType() [5/6]

dd4hep::rec::SurfaceType::SurfaceType ( unsigned  prop0,
unsigned  prop1,
unsigned  prop2,
unsigned  prop3 
)
inline

Definition at line 179 of file ISurface.h.

◆ SurfaceType() [6/6]

dd4hep::rec::SurfaceType::SurfaceType ( unsigned  prop0,
unsigned  prop1,
unsigned  prop2,
unsigned  prop3,
unsigned  prop4 
)
inline

Definition at line 187 of file ISurface.h.

Member Function Documentation

◆ checkOrthogonalToZ()

bool dd4hep::rec::SurfaceType::checkOrthogonalToZ ( const ISurface surf,
double  epsilon = 1.e-6 
) const
inline

True if surface is orthogonal to Z with accuracy epsilon - result is cached in bit SurfaceType::OrthogonalToZ

Definition at line 269 of file ISurface.h.

◆ checkParallelToZ()

bool dd4hep::rec::SurfaceType::checkParallelToZ ( const ISurface surf,
double  epsilon = 1.e-6 
) const
inline

True if surface is parallel to Z with accuracy epsilon - result is cached in bit SurfaceType::ParallelToZ

Definition at line 252 of file ISurface.h.

◆ isCone()

bool dd4hep::rec::SurfaceType::isCone ( ) const
inline

true if this a conical surface

Definition at line 211 of file ISurface.h.

◆ isCylinder()

bool dd4hep::rec::SurfaceType::isCylinder ( ) const
inline

true if this a cylindrical surface

Definition at line 208 of file ISurface.h.

◆ isHelper()

bool dd4hep::rec::SurfaceType::isHelper ( ) const
inline

true if surface is helper surface for navigation

Definition at line 202 of file ISurface.h.

◆ isMeasurement1D()

bool dd4hep::rec::SurfaceType::isMeasurement1D ( ) const
inline

true if the measurement is only 1D, i.e. the second direction v is not used

Definition at line 236 of file ISurface.h.

◆ isOrthogonalToZ()

bool dd4hep::rec::SurfaceType::isOrthogonalToZ ( ) const
inline

true if surface is orthogonal to Z

Definition at line 217 of file ISurface.h.

◆ isParallelToZ()

bool dd4hep::rec::SurfaceType::isParallelToZ ( ) const
inline

true if surface is parallel to Z

Definition at line 214 of file ISurface.h.

◆ isPlane()

bool dd4hep::rec::SurfaceType::isPlane ( ) const
inline

true if this a planar surface

Definition at line 205 of file ISurface.h.

◆ isSensitive()

bool dd4hep::rec::SurfaceType::isSensitive ( ) const
inline

true if surface is sensitive

Definition at line 199 of file ISurface.h.

◆ isSimilar()

bool dd4hep::rec::SurfaceType::isSimilar ( const SurfaceType otherType) const
inline

true if all properties of otherType are also true for this type.

Definition at line 243 of file ISurface.h.

◆ isUnbounded()

bool dd4hep::rec::SurfaceType::isUnbounded ( ) const
inline

true if the surface is unbounded ( ISurface::insideBounds() does not check volume boundaries)

Definition at line 240 of file ISurface.h.

◆ isVisible()

bool dd4hep::rec::SurfaceType::isVisible ( ) const
inline

true if surface is not invisble - for drawing only

Definition at line 220 of file ISurface.h.

◆ isZCone()

bool dd4hep::rec::SurfaceType::isZCone ( ) const
inline

true if this is a cone parallel to Z

Definition at line 226 of file ISurface.h.

◆ isZCylinder()

bool dd4hep::rec::SurfaceType::isZCylinder ( ) const
inline

true if this is a cylinder parallel to Z

Definition at line 223 of file ISurface.h.

◆ isZDisk()

bool dd4hep::rec::SurfaceType::isZDisk ( ) const
inline

true if this is a plane orthogonal to Z

Definition at line 233 of file ISurface.h.

◆ isZPlane()

bool dd4hep::rec::SurfaceType::isZPlane ( ) const
inline

true if this is a plane parallel to Z

Definition at line 229 of file ISurface.h.

◆ setProperty()

void dd4hep::rec::SurfaceType::setProperty ( unsigned  prop,
bool  val = true 
)
inline

set the given peorperty

Definition at line 196 of file ISurface.h.

Member Data Documentation

◆ _bits

std::bitset<32> dd4hep::rec::SurfaceType::_bits
mutableprotected

Definition at line 289 of file ISurface.h.


The documentation for this class was generated from the following file: