Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CacherEM.cxx

Go to the documentation of this file.
00001 #include "CacherEM.h"
00002 #include "MessageService/MsgService.h"
00003 
00004 CVSID("$Id: CacherEM.cxx,v 1.2 2004/09/29 00:07:29 cbs Exp $");
00005 
00006 //********************************
00007 CacherEM::CacherEM(){
00008   fn = 0;
00009   fpars = NULL;
00010   fpscache.clear();
00011   frtcache.clear();
00012   fsumE = 0;
00013 }
00014 
00015 //********************************
00016 CacherEM::~CacherEM(){
00017   delete [] fpars;
00018 }
00019 
00020 //********************************
00021 map<Int_t,spef> CacherEM::GetPSMap(){
00022   return fpscache;
00023 }
00024 
00025 //********************************
00026 vector<rte> CacherEM::GetRTMap(){
00027   return frtcache;
00028 }
00029 
00030 Double_t CacherEM::GetSumE(){
00031   return fsumE;
00032 }
00033 
00034 //********************************
00035 Double_t *CacherEM::GetPars(){
00036   return fpars;
00037 }
00038 
00039 //********************************
00040 void CacherEM::StorePS(Int_t n,Double_t* pars,map<Int_t,spef> cache)
00041 {  
00042   for(Int_t i=0;i<n;i++){
00043     fpars[i] = pars[i];
00044   }
00045   fpscache = cache;
00046 }
00047 
00048 //********************************
00049 void CacherEM::StoreRT(Int_t n,Double_t* pars,vector<rte> cache,Double_t sumE)
00050 {
00051   fn = n;
00052   fpars = new Double_t[n];
00053   for(Int_t i=0;i<n;i++){
00054     fpars[i] = pars[i];
00055   }
00056   frtcache = cache;
00057   fsumE = sumE;
00058 }
00059 
00060 //********************************
00061 Bool_t CacherEM::ValidPS(Double_t* pars){
00062 
00063   Bool_t valid = true;
00064   if(fn==0) return false;
00065   for(Int_t i=0;i<fn;i++){
00066     if(pars[i]!=fpars[i]) {
00067       valid = false;
00068       break;
00069     }
00070   }
00071   return valid;
00072 }
00073 
00074 //********************************
00075 Bool_t CacherEM::ValidRT(Double_t* pars){
00076 
00077   if(fn==0) return false;
00078   if(pars[0]!=fpars[0]) return false;
00079   return true;
00080 
00081 }
00082 
00083 //********************************
00084 void CacherEM::PrintPSMap()
00085 {
00086 
00087   map<Int_t,spef>::iterator beg = fpscache.begin();
00088   map<Int_t,spef>::iterator end = fpscache.end();
00089 
00090   while(beg!=end){
00091     MSG("FitShowerEM", Msg::kVerbose) << beg->first << " " 
00092                                       << beg->second.en << " " 
00093                                       << beg->second.fl << " " 
00094                                       << endl;
00095     beg++;
00096   }
00097   
00098 }
00099 
00100 //********************************
00101 void CacherEM::PrintRTMap()
00102 {
00103 
00104   vector<rte>::iterator beg = frtcache.begin();
00105   vector<rte>::iterator end = frtcache.end();
00106 
00107   while(beg!=end){
00108     MSG("FitShowerEM", Msg::kVerbose) << beg->t << " " 
00109                                       << beg->r << " " 
00110                                       << beg->e << " " 
00111                                       << beg->f << " " 
00112                                       << endl;
00113     beg++;
00114   }
00115   
00116 }
00117 
00118 //********************************
00119 void CacherEM::ClearCache(){
00120   
00121   fn = 0;
00122   Double_t *temp = fpars;
00123   fpars = NULL;
00124   delete [] temp;
00125   fpscache.clear();
00126   frtcache.clear();
00127 
00128 }
00129 
00130 //********************************
00131 void CacherEM::ClearPSCache(){
00132   
00133   fpscache.clear();
00134 
00135 }

Generated on Mon Feb 15 11:06:26 2010 for loon by  doxygen 1.3.9.1