5#ifndef AGDD2GeoModelBuilder_H
6#define AGDD2GeoModelBuilder_H
10#include "GeoModelKernel/GeoPhysVol.h"
95 inline double phi(
const GeoTrf::Vector3D &
vec)
const {
96 if (
vec.rows() < 2)
return 0.;
97 return std::atan2(
vec[1],
vec[0]);
100 inline double theta(
const GeoTrf::Vector3D &
vec)
const {
101 if (
vec.rows() < 3)
return 0.;
102 return std::atan2(std::hypot(
vec[0],
vec[1]),
vec[2]);
std::vector< size_t > vec
GeoElement * CreateElement(const std::string &)
~AGDD2GeoModelBuilder()=default
virtual void CreateVolume(AGDDVolume *) override
virtual void CreateComposition(AGDDComposition *) override
virtual void CreateUnion(AGDDUnion *) const override
virtual void CreateMaterial() override
double theta(const GeoTrf::Vector3D &vec) const
theta method (cf.
virtual void CreateIntersection(AGDDIntersection *) const override
virtual void CreateTubs(AGDDTubs *) const override
virtual void CreatePcon(AGDDPcon *) const override
virtual void CreateGvxy(AGDDGvxy *) const override
virtual void CreatePgon(AGDDPgon *) const override
virtual void CreateTrd(AGDDTrd *) const override
virtual void SetMotherVolume(GeoPhysVol *v)
virtual void BuildAllVolumes()
virtual StoredMaterialManager & GetMaterialManager() const override
const GeoMaterial * GetMMMaterial(const std::string &) const
virtual void CreateElements() override
virtual void CreateBolt(AGDDBolt *) const override
virtual void CreateElcyl(AGDDElcyl *) const override
virtual void BuildFromVolume(const std::string &) override
virtual void CreateIbeam(AGDDIbeam *) const override
virtual void CreateCons(AGDDCons *) const override
virtual void BuildFromSection(const std::string &) override
virtual void CreateBox(AGDDBox *) const override
virtual void CreateSnake(AGDDSnake *) const override
virtual void CreateUbeam(AGDDUbeam *) const override
double phi(const GeoTrf::Vector3D &vec) const
phi method (cf.
virtual void CreateSubtraction(AGDDSubtraction *) const override
AGDD2GeoModelBuilder(AGDDDetectorStore &ds, AGDDVolumeStore &vs, AGDDSectionStore &ss, AliasStore &as, AGDDMaterialStore &ms)
This class holds one or more material managers and makes them storeable, under StoreGate.