ISmearerFactory.cxx

Go to the documentation of this file.
00001 #include "AtlfastAlgs/ISmearerFactory.h"
00002 
00003 
00004 namespace Atlfast{
00005   
00006   ISmearer* 
00007   ISmearerFactory::create(int particleType,
00008                           const int randSeed, 
00009                           const int lumi, 
00010                           const int muSmearKey, 
00011                           std::string& muonResFile, 
00012                           MsgStream& log, 
00013                           std::vector<double> smearParamArray, 
00014                           int smearParamSchema){
00015     
00016     ISmearer* smearer;
00017     
00018     if (particleType == 11) 
00019       {
00020         smearer = new ElectronSmearer(randSeed, lumi, log);
00021         smearer->setSmearParameters(smearParamArray);
00022         smearer->setSmearParamSchema(smearParamSchema);
00023       } 
00024     else if (particleType == 13) 
00025       {
00026         smearer = new MuonSmearer(randSeed, lumi, muSmearKey, muonResFile, log);
00027         smearer->setSmearParameters(smearParamArray);
00028         smearer->setSmearParamSchema(smearParamSchema);
00029       } 
00030     else if (particleType == 22) 
00031       {
00032         smearer = new PhotonSmearer(randSeed, lumi, log);
00033         smearer->setSmearParameters(smearParamArray);
00034         smearer->setSmearParamSchema(smearParamSchema);  
00035       } 
00036     else 
00037       {
00038         smearer = new DefaultSmearer(randSeed);
00039       }
00040     
00041     
00042     return smearer;
00043     
00044   }
00045   
00046 }

Generated on Mon Sep 24 14:19:12 2007 for AtlfastAlgs by  doxygen 1.5.1