|
|
Definition at line 66 of file Geo.h. 00066 {
00067 // Geometry application type
00068 kRecons, // for use in minos reconstruction framework
00069 kVMC, // for use in virtual monte carlo application
00070 kUnknownAppType
00071 };
|
|
|
Definition at line 87 of file Geo.h. 00087 {
00088 // Detector components
00089 kMars, // rock
00090 kLinr, // cavern liner
00091 kHall, // cavern hall
00092 kStpScint, // strip scintillator
00093 kStpTiO2, // strip TiO2 coex coating
00094 kMdlAlSkin, // scint module Al skin
00095 kMdlAir, // scint module Air fill
00096 kPlnScint, // scint plane Air fill
00097 kPlnSteel, // steel plane
00098 kPlnAirGap, // scint/steel pln air gap
00099 kCRGapWater, // coil region air gap water
00100 kCRGapCoil, // coil region air gap coil
00101 kCRGapThroat, // coil region air gap throat
00102 kCRGapFlange, // coil region air gap flange
00103 kCRGapBypass, // coil region air gap bypass
00104 kCRStlWater, // coil region steel pln water
00105 kCRStlCoil, // coil region steel pln coil
00106 kCRStlThroat, // coil region steel pln throat
00107 kCRStlNeck, // coil region steel pln neck
00108 kCRStlHole, // coil region steel pln hole
00109 kCRStlDetail, // coil region steel pln detail
00110 kCRSctWater, // coil region scint pln water
00111 kCRSctCoil, // coil region scint pln coil
00112 kCRSctThroat, // coil region scint pln throat
00113 kCRSctFlange, // coil region scint pln flange
00114 kCRSctBypass, // coil region scint pln bypass
00115 kRCCoil, // return coil
00116 kRCAir, // return coil air fill
00117 kRCShaft, // return coil shaft
00118 kVSStpScint, // strip scintillator
00119 kVSStpTiO2, // strip TiO2 coex coating
00120 kVSMdlAlSkin, // scint module Al skin
00121 kVSMdlAir, // scint module Air fill
00122 kVSPlnScint, // scint plane Air fill
00123 kSoLo, // soudan low background counting facilities (lead stacks)
00124 kUnknownDetComponent // unknown
00125 };
|
|
|
Definition at line 127 of file Geo.h. 00127 {
00128 // Field strength assigned to detector components
00129 kNoField, // e.g. hall,rock
00130 kLowField, // e.g. scint plane,plane air gaps
00131 kHighField, // e.g. steel plane, coil
00132 kUnknownFldStrength // unknown
00133 };
|
|
|
Definition at line 73 of file Geo.h. 00073 {
00074 // Bfield swim method. Assigned to medium and used to determine
00075 // transport model used to swim particles through that medium in VMC.
00076 kNoFieldSwim, // swim as though no b-field
00077 // Runge-Kutta method recommended for fields with a strong gradient.
00078 kRungeKutta,
00079 // Step-wise helix method recommended for fields with a small gradient.
00080 // Tracking is performed along helix for each step, assuming a
00081 // constant B-field with the value of the step mid-point.
00082 // Better performance than kRungeKutta.
00083 kStepHelix,
00084 kUnknownSwimMethod
00085 };
|
|
|
Definition at line 175 of file Geo.cxx. References kHighField, kLowField, kNoField, and MSG. 00175 {
00176 // Convert enumerated field strength to a field strength string
00177
00178 switch (fldstrength) {
00179
00180 case kNoField:
00181 return "NoField";
00182
00183 case kLowField:
00184 return "LowField";
00185
00186 case kHighField:
00187 return "HighField";
00188
00189 default:
00190 MSG("Geo",Msg::kWarning)
00191 << "Geo::AsString called with unknown EFldStrength "
00192 << (int)fldstrength << "." << endl;
00193 return "UnknownFldStrength";
00194 }// end of switch
00195 }
|
|
|
Definition at line 92 of file Geo.cxx. References kCRGapBypass, kCRGapCoil, kCRGapFlange, kCRGapThroat, kCRGapWater, kCRSctBypass, kCRSctCoil, kCRSctFlange, kCRSctThroat, kCRSctWater, kCRStlCoil, kCRStlDetail, kCRStlHole, kCRStlNeck, kCRStlThroat, kCRStlWater, kHall, kLinr, kMars, kMdlAir, kMdlAlSkin, kPlnAirGap, kPlnScint, kPlnSteel, kRCAir, kRCCoil, kRCShaft, kSoLo, kStpScint, kStpTiO2, kVSMdlAir, kVSMdlAlSkin, kVSPlnScint, kVSStpScint, kVSStpTiO2, and MSG. 00092 {
00093 // Convert enumerated detector component to a detector component string
00094
00095 switch (component) {
00096
00097 case kMars:
00098 return "Mars";
00099 case kLinr:
00100 return "Linr";
00101 case kHall:
00102 return "Hall";
00103 case kStpScint:
00104 return "StpScint";
00105 case kStpTiO2:
00106 return "StpTiO2";
00107 case kMdlAlSkin:
00108 return "MdlAlSkin";
00109 case kMdlAir:
00110 return "MdlAir";
00111 case kPlnScint:
00112 return "PlnScint";
00113 case kPlnSteel:
00114 return "PlnSteel";
00115 case kPlnAirGap:
00116 return "PlnAirGap";
00117 case kCRGapWater:
00118 return "CRGapWater";
00119 case kCRGapCoil:
00120 return "CRGapCoil";
00121 case kCRGapThroat:
00122 return "CRGapThroat";
00123 case kCRGapFlange:
00124 return "CRGapFlange";
00125 case kCRGapBypass:
00126 return "CRGapBypass";
00127 case kCRStlWater:
00128 return "CRStlWater";
00129 case kCRStlCoil:
00130 return "CRStlCoil";
00131 case kCRStlThroat:
00132 return "CRStlThroat";
00133 case kCRStlNeck:
00134 return "CRStlNeck";
00135 case kCRStlHole:
00136 return "CRStlHole";
00137 case kCRStlDetail:
00138 return "CRStlDetail";
00139 case kCRSctWater:
00140 return "CRSctWater";
00141 case kCRSctCoil:
00142 return "CRSctCoil";
00143 case kCRSctThroat:
00144 return "CRSctThroat";
00145 case kCRSctFlange:
00146 return "CRSctFlange";
00147 case kCRSctBypass:
00148 return "CRSctBypass";
00149 case kRCCoil:
00150 return "RCCoil";
00151 case kRCAir:
00152 return "RCAir";
00153 case kRCShaft:
00154 return "RCShaft";
00155 case kVSStpScint:
00156 return "VSStpScint";
00157 case kVSStpTiO2:
00158 return "VSStpTiO2";
00159 case kVSMdlAlSkin:
00160 return "VSMdlAlSkin";
00161 case kVSMdlAir:
00162 return "VSMdlAir";
00163 case kVSPlnScint:
00164 return "VSPlnScint";
00165 case kSoLo:
00166 return "SoLo";
00167 default:
00168 MSG("Geo",Msg::kWarning) << "Geo::AsString called with unknown detector "
00169 << "component " << (int)component << "." << endl;
00170 return "UnknownDetComponent";
00171 }// end of switch
00172 }
|
|
|
Definition at line 69 of file Geo.cxx. References kNoFieldSwim, kRungeKutta, kStepHelix, and MSG. 00069 {
00070 // Convert enumerated swimmethod to a swimmethod string
00071
00072 switch (swimmethod) {
00073
00074 case kNoFieldSwim:
00075 return "NoFieldSwim";
00076
00077 case kRungeKutta:
00078 return "RungeKutta";
00079
00080 case kStepHelix:
00081 return "StepHelix";
00082
00083 default:
00084 MSG("Geo",Msg::kWarning)
00085 << "Geo::AsString called with unknown ESwimMethod "
00086 << (int)swimmethod << "." << endl;
00087 return "UnknownSwimMethod";
00088 }// end of switch
00089 }
|
|
|
Definition at line 50 of file Geo.cxx. References kRecons, kVMC, and MSG. Referenced by UgliLoanPool::BuildGeoGeometry(), GeoMediumMap::BuildSwimMethodMap(), GeoMediumMap::GetFldStrength(), UgliLoanPool::GetGeoGeometry(), UgliLoanPool::GetMedium(), GeoMediumMap::GetMedium(), GetScale(), GeoMediumMap::Print(), UgliLoanPool::SetMedium(), and GeoMediumMap::SetMedium(). 00050 {
00051 // Convert enumerated application type to an application type string
00052
00053 switch (apptype) {
00054
00055 case kRecons:
00056 return "Recons";
00057
00058 case kVMC:
00059 return "VMC";
00060
00061 default:
00062 MSG("Geo",Msg::kWarning) << "Geo::AsString called with unknown apptype "
00063 << (int)apptype << "." << endl;
00064 return "UnknownAppType";
00065 }// end of switch
00066 }
|
|
|
Definition at line 198 of file Geo.cxx. Referenced by GeoSteelPlnVolume::BuildCalDetSteelBasic(), GeoSteelPlnVolume::BuildFarCoilVolume(), GeoScintPlnVolume::BuildFarCoilVolume(), GeoScintPlnVolume::BuildFarVetoActive(), GeoSteelPlnVolume::BuildNearCoilVolume(), GeoScintPlnVolume::BuildNearCoilVolume(), GeoScintPlnVolume::BuildNearFullActive(), and GeoScintPlnVolume::BuildNearPartialActive(). 00198 {
00199 // Purpose: Convert text string apptype to an enumerated code.
00200 // Returns enumerated EAppType or kUnknown if no match
00201
00202 TString tmpstr(apptypename);
00203 tmpstr.ToLower();
00204 if ( strcmp(tmpstr.Data(),"recons") == 0 ) return kRecons;
00205 else if ( strcmp(tmpstr.Data(),"vmc") == 0 ) return kVMC;
00206
00207 return kUnknownAppType;
00208
00209 }
|
|
|
Definition at line 229 of file Geo.cxx. 00229 {
00230 // Purpose: Convert text string detcomponent to an enumerated code.
00231 // Returns enumerated EDetComponent or kUnknownDetComponent if no match
00232
00233 TString tmpstr(detcomponentname);
00234 tmpstr.ToLower();
00235 if ( strcmp(tmpstr.Data(),"mars") == 0 ) return kMars;
00236 else if ( strcmp(tmpstr.Data(),"linr") == 0 ) return kLinr;
00237 else if ( strcmp(tmpstr.Data(),"hall" ) == 0 ) return kHall;
00238 else if ( strcmp(tmpstr.Data(),"stpscint" ) == 0 ) return kStpScint;
00239 else if ( strcmp(tmpstr.Data(),"stptio2" ) == 0 ) return kStpTiO2;
00240 else if ( strcmp(tmpstr.Data(),"mdlalskin" ) == 0 ) return kMdlAlSkin;
00241 else if ( strcmp(tmpstr.Data(),"mdlair" ) == 0 ) return kMdlAir;
00242 else if ( strcmp(tmpstr.Data(),"plnscint" ) == 0 ) return kPlnScint;
00243 else if ( strcmp(tmpstr.Data(),"plnsteel" ) == 0 ) return kPlnSteel;
00244 else if ( strcmp(tmpstr.Data(),"plnairgap" ) == 0 ) return kPlnAirGap;
00245 else if ( strcmp(tmpstr.Data(),"crgapwater" ) == 0 ) return kCRGapWater;
00246 else if ( strcmp(tmpstr.Data(),"crgapcoil" ) == 0 ) return kCRGapCoil;
00247 else if ( strcmp(tmpstr.Data(),"crgapthroat" ) == 0 ) return kCRGapThroat;
00248 else if ( strcmp(tmpstr.Data(),"crgapflange" ) == 0 ) return kCRGapFlange;
00249 else if ( strcmp(tmpstr.Data(),"crgapbypass" ) == 0 ) return kCRGapBypass;
00250 else if ( strcmp(tmpstr.Data(),"crstlwater" ) == 0 ) return kCRStlWater;
00251 else if ( strcmp(tmpstr.Data(),"crstlcoil" ) == 0 ) return kCRStlCoil;
00252 else if ( strcmp(tmpstr.Data(),"crstlthroat" ) == 0 ) return kCRStlThroat;
00253 else if ( strcmp(tmpstr.Data(),"crstlneck" ) == 0 ) return kCRStlNeck;
00254 else if ( strcmp(tmpstr.Data(),"crstlhole" ) == 0 ) return kCRStlHole;
00255 else if ( strcmp(tmpstr.Data(),"crstldetail" ) == 0 ) return kCRStlDetail;
00256 else if ( strcmp(tmpstr.Data(),"crsctwater" ) == 0 ) return kCRSctWater;
00257 else if ( strcmp(tmpstr.Data(),"crsctcoil" ) == 0 ) return kCRSctCoil;
00258 else if ( strcmp(tmpstr.Data(),"crsctthroat" ) == 0 ) return kCRSctThroat;
00259 else if ( strcmp(tmpstr.Data(),"crsctflange" ) == 0 ) return kCRSctFlange;
00260 else if ( strcmp(tmpstr.Data(),"crsctbypass" ) == 0 ) return kCRSctBypass;
00261 else if ( strcmp(tmpstr.Data(),"rccoil" ) == 0 ) return kRCCoil;
00262 else if ( strcmp(tmpstr.Data(),"rcair" ) == 0 ) return kRCAir;
00263 else if ( strcmp(tmpstr.Data(),"rcshaft" ) == 0 ) return kRCShaft;
00264 else if ( strcmp(tmpstr.Data(),"vsstpscint" ) == 0 ) return kVSStpScint;
00265 else if ( strcmp(tmpstr.Data(),"vsstptio2" ) == 0 ) return kVSStpTiO2;
00266 else if ( strcmp(tmpstr.Data(),"vsmdlalskin" ) == 0 ) return kVSMdlAlSkin;
00267 else if ( strcmp(tmpstr.Data(),"vsmdlair" ) == 0 ) return kVSMdlAir;
00268 else if ( strcmp(tmpstr.Data(),"vsplnscint" ) == 0 ) return kVSPlnScint;
00269 else if ( strcmp(tmpstr.Data(),"solo" ) == 0 ) return kSoLo;
00270 return kUnknownDetComponent;
00271
00272 }
|
|
|
Definition at line 275 of file Geo.cxx. 00275 {
00276 // Purpose: Convert text string fldstrengthname to an enumerated code.
00277 // Returns enumerated EFldStrength or kUnknownFldStrength if no match
00278
00279 TString tmpstr(fldstrengthname);
00280 tmpstr.ToLower();
00281 if ( strcmp(tmpstr.Data(),"nofield") == 0 ) return kNoField;
00282 else if ( strcmp(tmpstr.Data(),"lowfield") == 0 )
00283 return kLowField;
00284 else if ( strcmp(tmpstr.Data(),"highfield" ) == 0 )
00285 return kHighField;
00286
00287 return kUnknownFldStrength;
00288
00289 }
|
|
|
Definition at line 24 of file Geo.cxx. References AsString(), kRecons, kVMC, and MSG. Referenced by GeoStripVolume::AddPstyreneNodes(), GeoShieldGroup::AddVolume(), GeoSteelPlnVolume::BuildCalDetSteelBasic(), GeoGeometry::BuildFarCoilAirGapVolume(), GeoSteelPlnVolume::BuildFarCoilVolume(), GeoScintPlnVolume::BuildFarCoilVolume(), GeoScintPlnVolume::BuildFarVetoActive(), GeoGeometry::BuildNearCoilAirGapVolume(), GeoSteelPlnVolume::BuildNearCoilVolume(), GeoScintPlnVolume::BuildNearCoilVolume(), GeoScintPlnVolume::BuildNearFullActive(), GeoScintMdlVolume::BuildNearlMXtru(), GeoScintMdlVolume::BuildNearLmXtru(), GeoScintPlnVolume::BuildNearPartialActive(), GeoShieldGroup::BuildNode(), GeoGeometry::GeoGeometry(), GeoStripVolume::GeoStripVolume(), and GeoVolume::GetScale(). 00024 {
00025 // Return the scale factor to be used when building the detector geometry
00026 // The scale factor will be applied to build the geometry in the units
00027 // appropriate for the given application type.
00028 // GeoGeometry is now built in cm for both vmc and reconstruction.
00029 // UgliXXXHandle (used by reconstruction) operates in meters, and a
00030 // scale factor is applied as appropriate to "hide" the GeoGeometry
00031 // implementation in cm so that the user of UgliXXXHandle sees a geometry
00032 // built in m.
00033
00034 switch (apptype) {
00035
00036 case kRecons:
00037 return 1./Munits::cm;
00038
00039 case kVMC:
00040 return 1./Munits::cm;
00041
00042 default:
00043 MSG("Geo",Msg::kWarning) << "Scale factor for application type "
00044 << Geo::AsString(apptype) << " unavailable." << endl;
00045 return 1;
00046 }// end of switch
00047 }
|
|
|
Definition at line 212 of file Geo.cxx. 00212 {
00213 // Purpose: Convert text string swimmethodname to an enumerated code.
00214 // Returns enumerated ESwimMethod or kUnknownSwimMethod if no match
00215
00216 TString tmpstr(swimmethodname);
00217 tmpstr.ToLower();
00218 if ( strcmp(tmpstr.Data(),"nofieldswim") == 0 ) return kNoFieldSwim;
00219 else if ( strcmp(tmpstr.Data(),"rungekutta") == 0 )
00220 return kRungeKutta;
00221 else if ( strcmp(tmpstr.Data(),"stephelix" ) == 0 )
00222 return kStepHelix;
00223
00224 return kUnknownSwimMethod;
00225
00226 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.3.9.1