#include "Conventions/Detector.h"#include "Conventions/Munits.h"Go to the source code of this file.
|
|
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 Geo::kHighField, Geo::kLowField, Geo::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 Geo::kCRGapBypass, Geo::kCRGapCoil, Geo::kCRGapFlange, Geo::kCRGapThroat, Geo::kCRGapWater, Geo::kCRSctBypass, Geo::kCRSctCoil, Geo::kCRSctFlange, Geo::kCRSctThroat, Geo::kCRSctWater, Geo::kCRStlCoil, Geo::kCRStlDetail, Geo::kCRStlHole, Geo::kCRStlNeck, Geo::kCRStlThroat, Geo::kCRStlWater, Geo::kHall, Geo::kLinr, Geo::kMars, Geo::kMdlAir, Geo::kMdlAlSkin, Geo::kPlnAirGap, Geo::kPlnScint, Geo::kPlnSteel, Geo::kRCAir, Geo::kRCCoil, Geo::kRCShaft, Geo::kSoLo, Geo::kStpScint, Geo::kStpTiO2, Geo::kVSMdlAir, Geo::kVSMdlAlSkin, Geo::kVSPlnScint, Geo::kVSStpScint, Geo::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 Geo::kNoFieldSwim, Geo::kRungeKutta, Geo::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 Geo::kRecons, Geo::kVMC, and MSG. Referenced by UgliLoanPool::BuildGeoGeometry(), GeoMediumMap::BuildSwimMethodMap(), GeoMediumMap::GetFldStrength(), UgliLoanPool::GetGeoGeometry(), UgliLoanPool::GetMedium(), GeoMediumMap::GetMedium(), Geo::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 Geo::AsString(), Geo::kRecons, Geo::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