Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:09:49

0001 #ifndef ATOOLS_Math_PermStore_H
0002 #define ATOOLS_Math_PermStore_H
0003 
0004 #include <vector>
0005 #include "ATOOLS/Math/MyComplex.H"
0006 
0007 
0008 
0009 namespace ATOOLS {
0010 
0011 
0012   class PermStore: public std::vector<PermStore*> {
0013   private:
0014 
0015     Complex amplitude;
0016     Complex colorstr;
0017    
0018     
0019   public:
0020     
0021     // constructor
0022     PermStore(size_t pnumber); 
0023 
0024     //destructor
0025     ~PermStore();
0026 
0027     void PutAmp(size_t* perm,Complex amp);
0028     void PutColor(size_t* perm,Complex color);
0029     Complex GetAmp(size_t* perm);
0030     Complex GetColor(size_t* perm);
0031     
0032   };
0033 
0034  
0035 
0036 
0037 class PermStoreFast: public std::vector<PermStoreFast*> {
0038   private:
0039 
0040     Complex amplitude;
0041     Complex colorstr;
0042    
0043     
0044   public:
0045     
0046     // constructor
0047     PermStoreFast(size_t pnumber,size_t m_pnumber); 
0048 
0049     //destructor
0050     ~PermStoreFast();
0051 
0052     void PutAmp(size_t* perm,Complex amp,size_t pnumber);
0053     void PutColor(size_t* perm,Complex color,size_t pnumber);
0054     Complex GetAmp(size_t* perm,size_t pnumber);
0055     Complex GetColor(size_t* perm,size_t pnumber);
0056     
0057   };
0058  
0059 
0060 
0061 
0062   
0063 }// end of namespace ATOOLS
0064 
0065 #endif