00001 00002 // File : MaterialBudgetCategorizer.h 00003 // Author: T.Boccali 11.12.01 00004 // Description: 00005 // Modifications: 00007 00008 #ifndef MaterialBudgetCategorizer_h 00009 #define MaterialBudgetCategorizer_h 1 00010 00011 #include<string> 00012 #include<map> 00013 #include<vector> 00014 00015 class MaterialBudgetCategorizer { 00016 00017 public: 00018 MaterialBudgetCategorizer(); 00019 00020 int volume(std::string s){return theVolumeMap[s];} 00021 int material(std::string s){return theMaterialMap[s];} 00022 // rr 00023 std::vector<float> x0fraction(std::string s){return theX0Map[s];} 00024 std::vector<float> l0fraction(std::string s){return theL0Map[s];} 00025 // rr 00026 private: 00027 void buildMaps(); 00028 void buildCategoryMap(std::string theMaterialFileName, std::map<std::string,std::vector<float> >& theMap); 00029 std::map<std::string,int> theVolumeMap, theMaterialMap; 00030 // rr 00031 std::map<std::string,std::vector<float> > theX0Map; 00032 std::map<std::string,std::vector<float> > theL0Map; 00033 // rr 00034 }; 00035 00036 #endif 00037 00038