///////////////////////////////////////////////////////////////////////////////
/// \class RAT::GeoSolidUnionFactory
///
/// \brief Factory for solids
///
/// \author Phil G Jones
/// \author Aksel Hallin -- contact person
///
/// REVISION HISTORY:\n
/// 2013-11-27 : P G Jones - New file. \n
///
/// \details Factory for solids that are unioned together before being placed
/// in the virtual detector.
///
///////////////////////////////////////////////////////////////////////////////
#ifndef __RAT_GeoSolidUnionFactory_hh__
#define __RAT_GeoSolidUnionFactory_hh__
#include
#include
class G4VSolid;
class G4LogicalVolume;
class G4Material;
namespace RAT
{
class GeoSolidUnionFactory : public GeoSolidFactory
{
public:
/// Construct a GeoSolidUnionFactory, name the factory solidUnion
GeoSolidUnionFactory() : GeoSolidFactory( "solidUnion" ) { }
/// Construct the physical volume
///
/// @param[in] table defines the volume
/// @param[in] checkOverlaps when placing
virtual void Construct( DBLinkPtr table,
const bool checkOverlaps );
};
} //::RAT
#endif