///////////////////////////////////////////////////////////////////////////////
/// \class RAT::GeoSolidArrayFactory
///
/// \brief Factory for solid arrays
///
/// \author Phil G Jones
/// \author Aksel Hallin -- contact person
///
/// REVISION HISTORY:\n
/// 2013-06-21 : P G Jones - New file. \n
///
/// \details Factory for solid arrays (an array of solids placed individually)
/// with equivalent logical properties.
///
///////////////////////////////////////////////////////////////////////////////
#ifndef __RAT_GeoSolidArrayFactory_hh__
#define __RAT_GeoSolidArrayFactory_hh__
#include
namespace RAT
{
class GeoSolidArrayFactory : public GeoSolidFactory
{
public:
/// Construct a GeoSolidArrayFactory, name the factory solidArray
GeoSolidArrayFactory() : GeoSolidFactory( "solidArray" ) { }
private:
/// Override; Places the volume in the virtual detector
///
/// @param[in] name of the volume
/// @param[in] table that defines the volume
/// @param[in] logicalVolume the logical volume to place
/// @param[in] checkOverlaps when placing
virtual void PlaceVolume( const std::string& name,
DBLinkPtr table,
G4LogicalVolume* const logicalVolume,
const bool checkOverlaps ) const;
};
} //::RAT
#endif