109 if (
this != &cache) {
162 for (GCTAResponseCacheName::const_iterator it_name =
m_cache.begin();
163 it_name !=
m_cache.end(); ++it_name) {
164 size += it_name->second.size();
189 double element =
encode(ereco, etrue);
192 m_cache[name][element] = value;
218 double element =
encode(dir, ereco, etrue);
221 m_cache[name][element] = value;
252 double element =
encode(ereco, etrue);
255 GCTAResponseCacheName::const_iterator it_name =
m_cache.find(name);
256 if (it_name !=
m_cache.end()) {
259 GCTAResponseCacheElement::const_iterator it_element =
260 it_name->second.find(element);
261 if (it_element != it_name->second.end()) {
264 *value = it_element->second;
301 double element =
encode(dir, ereco, etrue);
304 GCTAResponseCacheName::const_iterator it_name =
m_cache.find(name);
305 if (it_name !=
m_cache.end()) {
308 GCTAResponseCacheElement::const_iterator it_element =
309 it_name->second.find(element);
310 if (it_element != it_name->second.end()) {
313 *value = it_element->second;
352 result.append(
"=== GCTAResponseCache ===");
359 for (GCTAResponseCacheName::const_iterator it_name =
m_cache.begin();
360 it_name !=
m_cache.end(); ++it_name) {
366 int nelement = it_name->second.size();
447 double encoded = ereco.
TeV() * 1.0e2 + etrue.
TeV();
483 double encoded = dir.
dir().ra_deg() * 1.0e8 +
484 dir.
dir().dec_deg() * 1.0e5 +
485 ereco.
TeV() * 1.0e2 +
double TeV(void) const
Return energy in TeV.
GCTAResponseCacheName m_cache
CTA response cache class definition.
virtual ~GCTAResponseCache(void)
Destructor.
void dir(const GSkyDir &dir)
Set sky direction.
bool contains(const std::string &name, const GEnergy &ereco, const GEnergy &etrue, double *value=NULL) const
Check if cache contains a value for specific parameters.
void free_members(void)
Delete class members.
void clear(void)
Clear CTA response cache.
void init_members(void)
Initialise class members.
CTA instrument direction class interface definition.
GCTAResponseCache * clone(void) const
Clone CTA response cache.
double encode(const GEnergy &ereco, const GEnergy &etrue) const
Encode reconstructued and true energy.
int size(void) const
Return number of elements in cache.
std::string print(const GChatter &chatter=NORMAL) const
Print CTA response cache.
GCTAResponseCache & operator=(const GCTAResponseCache &cache)
Assignment operator.
CTA instrument direction class.
void copy_members(const GCTAResponseCache &cache)
Copy class members.
void set(const std::string &name, const GEnergy &ereco, const GEnergy &etrue, const double &value)
Set cache value.
GCTAResponseCache(void)
Void constructor.
CTA response cache class.
std::string parformat(const std::string &s, const int &indent=0)
Convert string in parameter format.
Class that handles energies in a unit independent way.
std::string str(const unsigned short int &value)
Convert unsigned short integer value into string.