#include <CacheBuffer.h>
Private Member Functions | |
| CacheBuffer () | |
| CacheBuffer (unsigned int autoclear_limit) | |
| ~CacheBuffer () | |
| void | AddToCache (double e, double de_dx) |
| bool | Retrieve (double e, double &de_dx) const |
| void | ClearCache (void) |
| void | Print (const Option_t *) const |
Private Attributes | |
| map< double, double > | fCache |
| map< double, double >::size_type | fCacheSize |
| unsigned int | fAutoclearLimit |
Friends | |
| class | Cache |
| ostream & | operator<< (ostream &stream, const CacheBuffer &buffer) |
________________________________________________________________________________________
Costas Andreopoulos <C.V.Andreopoulos@rl.ac.uk> CCLRC, Rutherford Lab. December 10, 2003 _________________________________________________________________________________________
Definition at line 27 of file CacheBuffer.h.
|
|
Definition at line 30 of file CacheBuffer.cxx. References fAutoclearLimit, fCache, and fCacheSize. 00031 {
00032 fCacheSize = fCache.size();
00033 fAutoclearLimit = 1000;
00034 }
|
|
|
Definition at line 36 of file CacheBuffer.cxx. References fCache, and fCacheSize. 00036 : 00037 fAutoclearLimit(autoclear_limit) 00038 { 00039 fCacheSize = fCache.size(); 00040 } //_________________________________________________________________________________________
|
|
|
Definition at line 42 of file CacheBuffer.cxx. 00043 {
00044
00045 }
|
|
||||||||||||
|
Definition at line 47 of file CacheBuffer.cxx. References fAutoclearLimit, fCache, and fCacheSize. 00048 {
00049 fCacheSize = fCache.size();
00050
00051 // check cache buffer size, 0 disables auto-clear
00052 if(fCacheSize > fAutoclearLimit && fAutoclearLimit != 0) fCache.clear();
00053
00054 fCache.insert( map<double, double>::value_type(e, de_dx) );
00055 }
|
|
|
Definition at line 68 of file CacheBuffer.cxx. References fCache. 00069 {
00070 fCache.clear();
00071 }
|
|
|
Definition at line 73 of file CacheBuffer.cxx. 00074 {
00075 cout << *this;
00076 }
|
|
||||||||||||
|
Definition at line 57 of file CacheBuffer.cxx. References fCache. 00058 {
00059 if( fCache.count(e) == 1) {
00060 map<double, double>::const_iterator iter = fCache.find(e);
00061 de_dx = iter->second;
00062 return true;
00063 }
00064 de_dx = 0;
00065 return false;
00066 }
|
|
|
Definition at line 31 of file CacheBuffer.h. |
|
||||||||||||
|
Definition at line 20 of file CacheBuffer.cxx. 00021 {
00022 map<double, double>::const_iterator cache_iter;
00023 for(cache_iter = buffer.fCache.begin(); cache_iter != buffer.fCache.end(); ++cache_iter)
00024 stream << " E = " << cache_iter->first << " MeV "
00025 << "--> dE/dx = " << cache_iter->second << " MeV cm^2 / gr" << endl;
00026
00027 return stream;
00028 }
|
|
|
Definition at line 47 of file CacheBuffer.h. Referenced by AddToCache(), and CacheBuffer(). |
|
|
Definition at line 45 of file CacheBuffer.h. Referenced by AddToCache(), CacheBuffer(), ClearCache(), and Retrieve(). |
|
|
Definition at line 46 of file CacheBuffer.h. Referenced by AddToCache(), and CacheBuffer(). |
1.3.9.1