DLG4::VolumeBuilders
A fluent interface for Geant4 geometry definition.
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Attributes | List of all members
Volume Class Reference

#include <DLG4Units.hh>

Collaboration diagram for Volume:
[legend]

Public Member Functions

 Volume ()
 
 Volume (double raw, Volume u)
 
void CheckValue (const G4String &context) const
 
void CheckUnit (const G4String &context) const
 

Static Public Member Functions

static Volume FromNative (G4double native_value)
 
static Volume GetGlobalDefault ()
 

Public Attributes

ScalableProxy< VolumeInUnits
 
DefaultUnitsProxy InDefaultUnits
 
NativeProxy Native
 

Static Public Attributes

static const Volume cm3 {CLHEP::mL}
 
static const Volume mL {CLHEP::mL}
 
static const Volume L {CLHEP::L}
 
static Volume native
 

Protected Attributes

std::optional< G4double > NativeValue_
 

Detailed Description

Definition at line 353 of file DLG4Units.hh.

Constructor & Destructor Documentation

◆ Volume() [1/2]

Volume ( )
inline

Definition at line 362 of file DLG4Units.hh.

362{ NativeValue_ = CLHEP::cm3; };
std::optional< G4double > NativeValue_
Definition DLG4Units.hh:98

◆ Volume() [2/2]

Volume ( double  raw,
Volume  u 
)
inlineexplicit

Definition at line 364 of file DLG4Units.hh.

Member Function Documentation

◆ CheckUnit()

void CheckUnit ( const G4String &  context) const
inlineinherited

Definition at line 271 of file DLG4Units.hh.

271 {
272 CheckValue(context);
273 if (!(NativeValue_ > 0.0)) {
274 G4Exception(context, "InvalidScale", FatalException,
275 "\n Attempted to apply a negative Unit\n");
276 exit(1);
277 }
278 }
void CheckValue(const G4String &context) const
Definition DLG4Units.hh:260

◆ CheckValue()

void CheckValue ( const G4String &  context) const
inlineinherited

Definition at line 260 of file DLG4Units.hh.

260 {
261 // volatile may help with debugging dangling references.
262 volatile bool engagement_flag = NativeValue_.has_value();
263 if (!engagement_flag) {
264 //if (!NativeValue_.has_value()) {
265 G4Exception(context, "InvalidScale", FatalException,
266 "\n Attempted to use a Unit (or measure) before setting it;\n");
267 exit(1);
268 }
269 }

◆ FromNative()

static Volume FromNative ( G4double  native_value)
inlinestaticinherited

Definition at line 232 of file DLG4Units.hh.

232{ return T(native_value); }

◆ GetGlobalDefault()

static Volume GetGlobalDefault ( )
inlinestaticinherited

Definition at line 258 of file DLG4Units.hh.

258{ return T(global_default_unit<T>); }

Member Data Documentation

◆ cm3

const Volume cm3 {CLHEP::mL}
inlinestatic

Definition at line 368 of file DLG4Units.hh.

◆ InDefaultUnits

DefaultUnitsProxy InDefaultUnits
inherited

Definition at line 228 of file DLG4Units.hh.

228{*this};

◆ InUnits

ScalableProxy<Volume > InUnits
inherited

Definition at line 227 of file DLG4Units.hh.

227{*this};

◆ L

const Volume L {CLHEP::L}
inlinestatic

Definition at line 368 of file DLG4Units.hh.

◆ mL

const Volume mL {CLHEP::mL}
inlinestatic

Definition at line 368 of file DLG4Units.hh.

◆ Native

NativeProxy Native
inherited

Definition at line 229 of file DLG4Units.hh.

229{*this};

◆ native

Volume native
inlinestaticinherited

Definition at line 231 of file DLG4Units.hh.

231{1.0};

◆ NativeValue_

std::optional<G4double > NativeValue_
protectedinherited

Definition at line 98 of file DLG4Units.hh.


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