////////////////////////////////////////////////////////////////////////
/// \class RAT::PMTBaseConstructorParams
///
/// \brief The struct of parameters needed to construct a pmt base
///
/// \author Phil Jones
/// \author Aksel Hallin -- contact person
///
/// REVISION HISTORY:\n
/// 28/10 : P.Jones - First Revision, new file. \n
/// 08/10 : P.Jones - New constructor. \n
///
/// \details Stores the necessary parameters for a pmt base
///
///
////////////////////////////////////////////////////////////////////////
#ifndef __RAT_PMTBaseConstructorParams__
#define __RAT_PMTBaseConstructorParams__
#include
class G4Material;
class G4VisAttributes;
namespace RAT
{
class PMTBaseConstructorParams
{
public:
PMTBaseConstructorParams( const std::string& pmtBaseType,
G4VisAttributes* visAttributes );
virtual ~PMTBaseConstructorParams() {}
std::string fPMTBaseType; ///< PMT Base type in the db
double fInnerRadius; ///< Radius of the inner void
double fOuterRadius; ///< Radius of the PMT Base
double fHeight; ///< Height of the PMT Base, a length independent of the pmt equator
double fVoidDepth; ///< Size of the PMT base inner void, from the top of the bucket, a length independent of the pmt equator
double fOffset; ///< Offset of the PMTBase (PMTBase z=0) from the PMT Equator
G4Material* fBulkMaterial; ///< PMTBase Bulk (Plastic) material
G4VisAttributes* fVisAttributes; ///< Visualisation attributes
private:
PMTBaseConstructorParams();
};
} //::RAT
#endif