Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

Deposits.cxx

Go to the documentation of this file.
00001 #ifndef ATLFAST_DEPOSITS_CXX
00002 #define ATLFAST_DEPOSITS_CXX
00003 
00004 template<class T, int hDimension> 
00005 const int Deposits<T, hDimension>::s_dimension((2*hDimension)+1);
00006 //
00007 template<class T, int hDimension> 
00008 const int Deposits<T, hDimension>::s_center(2*hDimension*(hDimension+1));
00009 //
00010 template<class T, int hDimension>
00011 const int Deposits<T, hDimension>::s_nElements(s_dimension*s_dimension);
00012 //
00013 template<class T, int hDimension>
00014 inline 
00015 Deposits<T, hDimension>::Deposits():m_elements(s_nElements, 0.){}
00016   //
00017 template<class T, int hDimension>
00018 inline 
00019 void Deposits<T, hDimension>::accept(int eta, 
00020                                      int phi, 
00021                                      double energy){
00022   int index = this->index(eta, phi); 
00023   assert(index>= 0 && index<s_nElements );
00024   m_elements[index]+=energy;
00025 }
00026 //
00027 template<class T, int hDimension>
00028 inline 
00029 void Deposits<T, hDimension>::normalise(double scaleFactor){
00030   transform(m_elements.begin(), m_elements.end(), m_elements.begin(), 
00031             Scale(scaleFactor));
00032 }
00033 //
00034 template<class T, int hDimension>
00035 inline 
00036 int Deposits<T, hDimension>::index(int eta, int phi){
00037   //eta,phi can be -ve: add 12 to put into index range
00038   return s_center+eta+(s_dimension*phi); 
00039 }
00040 //
00041 template<class T, int hDimension>
00042 inline 
00043 void Deposits<T, hDimension>::reset() {
00044   m_elements=(std::vector<T>(s_nElements, 0.));
00045 }
00046 //
00047 template<class T, int hDimension> 
00048 inline 
00049 Deposits<T, hDimension>::ConstIter Deposits<T, hDimension>::begin() const {
00050   return m_elements.begin();
00051 }
00052 //
00053 template<class T, int hDimension> 
00054 inline 
00055 Deposits<T, hDimension>::ConstIter Deposits<T, hDimension>::end() const{
00056   return m_elements.end();
00057 }
00058 //
00059 template<class T, int hDimension> 
00060 inline 
00061 std::size_t Deposits<T, hDimension>::dimension() const{
00062   return s_dimension;
00063 }
00064 
00065 #endif
00066 
00067 
00068 
00069 
00070 
00071 
00072 
00073 

Generated on Tue Mar 18 11:49:56 2003 for FastShowerUtils by doxygen1.3-rc1