68 FillSolidParams( wl );
105void G4tgrSolid::FillSolidParams(
const std::vector<G4String>& wl )
108 std::map< G4String, std::set<G4int> > angleParams;
109 std::set<G4int> apar;
110 apar.clear(); apar.insert(3); apar.insert(4);
111 angleParams[
"TUBS"] = apar;
112 apar.clear(); apar.insert(5); apar.insert(6);
113 angleParams[
"CONS"] = apar;
114 apar.clear(); apar.insert(3); apar.insert(4); apar.insert(5);
115 angleParams[
"PARA"] = apar;
116 apar.clear(); apar.insert(1); apar.insert(2); apar.insert(6); apar.insert(10);
117 angleParams[
"TRAP"] = apar;
118 apar.clear(); apar.insert(2); apar.insert(3); apar.insert(4); apar.insert(5);
119 angleParams[
"SPHERE"] = apar;
120 apar.clear(); apar.insert(3); apar.insert(4);
121 angleParams[
"TORUS"] = apar;
122 apar.clear(); apar.insert(0); apar.insert(1);
123 angleParams[
"POLYCONE"] = apar;
124 apar.clear(); apar.insert(0); apar.insert(1);
125 angleParams[
"POLYHEDRA"] = apar;
126 apar.clear(); apar.insert(2); apar.insert(3);
127 angleParams[
"HYPE"] = apar;
128 apar.clear(); apar.insert(0);
129 angleParams[
"TWISTED_BOX"] = apar;
130 apar.clear(); apar.insert(0); apar.insert(2); apar.insert(3); apar.insert(10);
131 angleParams[
"TWISTED_TRAP"] = apar;
132 apar.clear(); apar.insert(5);
133 angleParams[
"TWISTED_TRD"] = apar;
134 apar.clear(); apar.insert(0); apar.insert(4);
135 angleParams[
"TWISTED_TUBS"] = apar;
137 std::vector<G4double>* vd =
new std::vector<G4double>;
139 size_t noParRead = wl.size()-3;
143 for(
size_t ii = 0; ii < noParRead; ii++)
146 std::map< G4String, std::set<G4int> >::iterator ite
147 = angleParams.find(solidType);
148 if( ite != angleParams.end() )
150 std::set<G4int> apar2 = (*ite).second;
151 if( apar2.find(ii) != apar2.end() )
158 G4cout <<
" G4tgrSolid::FillSolidParams() - Angle param found "
159 << solidType <<
" " << ii <<
G4endl;
175 os <<
"G4tgrSolid= " << sol.
theName
176 <<
" of type " << sol.
theType <<
" PARAMS: ";
180 for(
size_t ii = 0; ii < solpar.size(); ii++)
182 os << solpar[ii] <<
" " ;
CLHEP::Hep3Vector G4ThreeVector
G4DLLIMPORT std::ostream G4cout
std::ostream & operator<<(std::ostream &os, const G4tgrSolid &sol)
static G4int GetVerboseLevel()
std::vector< std::vector< G4double > * > theSolidParams
virtual const G4String & GetRelativeRotMatName() const
virtual G4ThreeVector GetRelativePlace() const
const std::vector< std::vector< G4double > * > GetSolidParams() const
static G4String GetString(const G4String &str)
static G4double GetDouble(const G4String &str, G4double unitval=1.)
void RegisterMe(G4tgrSolid *vol)
static G4tgrVolumeMgr * GetInstance()