Celeritas 0.6.0-dev.116+3fbab5e0
Loading...
Searching...
No Matches
Functions
CsgObject.cc File Reference
#include "CsgObject.hh"
#include <utility>
#include "corecel/io/JsonPimpl.hh"
#include "ObjectIO.json.hh"
#include "detail/CsgUnitBuilder.hh"
#include "detail/VolumeBuilder.hh"

Functions

std::shared_ptr< AllObjects constceleritas::orangeinp::make_subtraction (std::string &&label, SPConstObject const &minuend, SPConstObject const &subtrahend)
 Make a new object that is the second object subtracted from the first.
 
std::shared_ptr< AllObjects constceleritas::orangeinp::make_rdv (std::string &&label, VecSenseObj &&inp)
 Make a combination of possibly negated objects.
 

Function Documentation

◆ make_rdv()

std::shared_ptr< AllObjects const > celeritas::orangeinp::make_rdv ( std::string &&  label,
VecSenseObj &&  inp 
)

Make a combination of possibly negated objects.

The Region Definition Vector (RDV) is an intersection of objects and/or their negations. It is the KENO/SCALE [kenovi] way for defining media, boundaries, etc. It must not be empty.

◆ make_subtraction()

std::shared_ptr< AllObjects const > celeritas::orangeinp::make_subtraction ( std::string &&  label,
SPConstObject const minuend,
SPConstObject const subtrahend 
)

Make a new object that is the second object subtracted from the first.

This just takes the intersection the first object and the negated second:

A - B <=> A & ~B