# tem_cylinder_type Derived Type

## type, public :: tem_cylinder_type

This type provides information to create cylinder geometry

## Components

TypeVisibility AttributesNameInitial
real(kind=rk), public :: vec(3)

vector defining length and axis of cylinder

real(kind=rk), public :: radius
real(kind=rk), public :: origin(3)
logical, public :: only_surface

To choose what to do with intersection of this object if only_surface = true than the only the surface of the object is intersected if only_surface = false then the whole object is intersected default is set to false

### Source Code

  type tem_cylinder_type
!> vector defining length and axis of cylinder
real(kind=rk) :: vec(3)
real(kind=rk) :: radius !< radius of the cylinder
real(kind=rk) :: origin(3) !< origin of the cylinder
!> To choose what to do with intersection of this object
!! if only_surface = true than the only the surface of the object
!! is intersected
!! if only_surface = false then the whole object is intersected
!! default is set to false
logical :: only_surface
end type tem_cylinder_type