CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/Validation/Geometry/interface/MaterialBudgetCategorizer.h

Go to the documentation of this file.
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