42 Fatal(
"TGeoOpticalSurface::TGeoOpticalSurface()",
"Constructor called with INVALID model.");
52 if ((stype ==
"dielectric_metal") || (stype ==
"0")) {
54 }
else if ((stype ==
"dielectric_dielectric") || (stype ==
"1")) {
56 }
else if ((stype ==
"dielectric_LUT") || (stype ==
"2")) {
58 }
else if ((stype ==
"dielectric_dichroic") || (stype ==
"3")) {
60 }
else if ((stype ==
"firsov") || (stype ==
"4")) {
82 return "unhandled surface type";
92 if ((smodel ==
"glisur") || (smodel ==
"0")) {
94 }
else if ((smodel ==
"unified") || (smodel ==
"1")) {
96 }
else if ((smodel ==
"LUT") || (smodel ==
"2")) {
111 case kMLUT:
return "LUT";
116 return "unhandled model type";
125 if ((sfinish ==
"polished") || (sfinish ==
"0")) {
127 }
else if ((sfinish ==
"polishedfrontpainted") || (sfinish ==
"1")) {
129 }
else if ((sfinish ==
"polishedbackpainted") || (sfinish ==
"2")) {
131 }
else if ((sfinish ==
"ground") || (sfinish ==
"3")) {
133 }
else if ((sfinish ==
"groundfrontpainted") || (sfinish ==
"4")) {
135 }
else if ((sfinish ==
"groundbackpainted") || (sfinish ==
"5")) {
137 }
else if ((sfinish ==
"polishedlumirrorair") || (sfinish ==
"6")) {
139 }
else if ((sfinish ==
"polishedlumirrorglue") || (sfinish ==
"7")) {
141 }
else if ((sfinish ==
"polishedair") || (sfinish ==
"8")) {
143 }
else if ((sfinish ==
"polishedteflonair") || (sfinish ==
"9")) {
145 }
else if ((sfinish ==
"polishedtioair") || (sfinish ==
"10")) {
147 }
else if ((sfinish ==
"polishedtyvekair") || (sfinish ==
"11")) {
149 }
else if ((sfinish ==
"polishedvm2000air") || (sfinish ==
"12")) {
151 }
else if ((sfinish ==
"polishedvm2000glue") || (sfinish ==
"13")) {
153 }
else if ((sfinish ==
"etchedlumirrorair") || (sfinish ==
"14")) {
155 }
else if ((sfinish ==
"etchedlumirrorglue") || (sfinish ==
"15")) {
157 }
else if ((sfinish ==
"etchedair") || (sfinish ==
"16")) {
159 }
else if ((sfinish ==
"etchedteflonair") || (sfinish ==
"17")) {
161 }
else if ((sfinish ==
"etchedtioair") || (sfinish ==
"18")) {
163 }
else if ((sfinish ==
"etchedtyvekair") || (sfinish ==
"19")) {
165 }
else if ((sfinish ==
"etchedvm2000air") || (sfinish ==
"20")) {
167 }
else if ((sfinish ==
"etchedvm2000glue") || (sfinish ==
"21")) {
169 }
else if ((sfinish ==
"groundlumirrorair") || (sfinish ==
"22")) {
171 }
else if ((sfinish ==
"groundlumirrorglue") || (sfinish ==
"23")) {
173 }
else if ((sfinish ==
"groundair") || (sfinish ==
"24")) {
175 }
else if ((sfinish ==
"groundteflonair") || (sfinish ==
"25")) {
177 }
else if ((sfinish ==
"groundtioair") || (sfinish ==
"26")) {
179 }
else if ((sfinish ==
"groundtyvekair") || (sfinish ==
"27")) {
181 }
else if ((sfinish ==
"groundvm2000air") || (sfinish ==
"28")) {
239 return "unhandled model finish";
247 return (prop) ? prop->
GetTitle() :
nullptr;
275 return (prop) ? prop->
GetTitle() :
nullptr;
309 Error(
"AddProperty",
"Property %s already added to optical surface %s", property,
GetName());
321 Error(
"AddConstProperty",
"Constant property %s already added to material %s", property,
GetName());
332 printf(
"*** opticalsurface: %s type: %s model: %s finish: %s value = %g\n",
GetName(),
338 while ((property = (
TNamed *)next()))
339 printf(
" property: %s ref: %s\n", property->
GetName(), property->
GetTitle());
345 while ((property = (
TNamed *)next())) {
347 printf(
" constant: %s ref: %s value: %g\n",
359 Error(
"Print",
"Skin surface %s: volume not set",
GetName());
362 printf(
"*** skinsurface: %s surfaceproperty: %s volumeref: %s \n",
GetName(),
GetTitle(),
fVolume->GetName());
371 Error(
"Print",
"Border surface %s: nodes not set",
GetName());
374 printf(
"*** bordersurface: %s surfaceproperty: %s physvolref: %s %s \n",
GetName(),
GetTitle(),
int Int_t
Signed integer 4 bytes (int).
bool Bool_t
Boolean (0=false, 1=true) (bool).
double Double_t
Double 8 bytes.
const char Option_t
Option string (const char).
externTGeoManager * gGeoManager
This class is used in the process of reading and writing the GDML "matrix" tag.
void Print(Option_t *option="") const override
This method must be overridden when a class wants to print itself.
static ESurfaceType StringToType(const char *type)
bool AddProperty(const char *property, const char *ref)
static const char * ModelToString(ESurfaceModel model)
@ kTdielectric_dielectric
static const char * TypeToString(ESurfaceType type)
const char * GetConstPropertyRef(const char *property) const
static ESurfaceFinish StringToFinish(const char *finish)
TGDMLMatrix * GetProperty(const char *name) const
static const char * FinishToString(ESurfaceFinish finish)
void Print(Option_t *option="") const override
This method must be overridden when a class wants to print itself.
bool AddConstProperty(const char *property, const char *ref)
@ kFPolishedESRGrease_LUT
Double_t GetConstProperty(const char *property, Bool_t *error=nullptr) const
static ESurfaceModel StringToModel(const char *model)
const char * GetPropertyRef(const char *property)
TGeoVolume const * fVolume
void Print(Option_t *option="") const override
This method must be overridden when a class wants to print itself.
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual void Fatal(const char *method, const char *msgfmt,...) const
Issue fatal error message.