| 
            Last change
 on this file since 4000 was             3489, checked in by ansari, 18 years ago           | 
        
        
          
            
Les differents scripts+prog de calcul P(k)/bruit, lobe, config interfero ajoute ds ce module - Reza 28/04/2008 
 
 
           | 
        
        
          | 
            File size:
            1.3 KB
           | 
        
      
      
| Rev | Line |   | 
|---|
| [3489] | 1 | Matrix hexagon(double xc, double yc, double r=1., double theta=0.) 
 | 
|---|
 | 2 | {
 | 
|---|
 | 3 |         Matrix hex(2,7);
 | 
|---|
 | 4 |         hex(0,0) = xc;  hex(1,0) = yc;
 | 
|---|
 | 5 |         for(int i=1; i<=6; i++) {
 | 
|---|
 | 6 |           double tet = (i-1)*M_PI/3.+theta;
 | 
|---|
 | 7 |           hex(0,i) = r*cos(tet)+xc;
 | 
|---|
 | 8 |           hex(1,i) = r*sin(tet)+yc;
 | 
|---|
 | 9 |         }
 | 
|---|
 | 10 |         return hex;
 | 
|---|
 | 11 | }
 | 
|---|
 | 12 | 
 | 
|---|
 | 13 | Matrix couche(int num, double r=0.)
 | 
|---|
 | 14 | {
 | 
|---|
 | 15 |         if (num <= 0) {
 | 
|---|
 | 16 |       Matrix pos(3,1);
 | 
|---|
 | 17 |           pos(0,0) = pos(1,0) = pos(2,0) = 0.;
 | 
|---|
 | 18 |           return pos;
 | 
|---|
 | 19 |         }
 | 
|---|
 | 20 |         else {
 | 
|---|
 | 21 |           if (r <= 0.0001)  r = 5.*num;         
 | 
|---|
 | 22 |           int n = num*6;
 | 
|---|
 | 23 |           double tet0 = 0.;
 | 
|---|
 | 24 |           tet0 = M_PI/n;
 | 
|---|
 | 25 |           double dtet = M_PI*2./(double)n;
 | 
|---|
 | 26 |           Matrix pos(3, n);
 | 
|---|
 | 27 |           for(int i=0; i<n; i++) {
 | 
|---|
 | 28 |             double tet = i*dtet+tet0;
 | 
|---|
 | 29 |             pos(0,i) = r*cos(tet);
 | 
|---|
 | 30 |             pos(1,i) = r*sin(tet);
 | 
|---|
 | 31 |             pos(2,i) = tet;
 | 
|---|
 | 32 |           }
 | 
|---|
 | 33 |           return pos;
 | 
|---|
 | 34 |         }
 | 
|---|
 | 35 | }
 | 
|---|
 | 36 | 
 | 
|---|
 | 37 | int FillVis(Histo2D& h2, double x, double y, double d=1) 
 | 
|---|
 | 38 | {
 | 
|---|
 | 39 |   h2.Add(x, y, 1.);
 | 
|---|
 | 40 | 
 | 
|---|
 | 41 |   double wa = 0.6;  
 | 
|---|
 | 42 |   double wb = 0.3;  
 | 
|---|
 | 43 |   for(int i=0; i<6; i++) {
 | 
|---|
 | 44 |         double dx1a = 0.35*cos(i*M_PI/3.)*d;
 | 
|---|
 | 45 |         double dy1a = 0.35*sin(i*M_PI/3.)*d;
 | 
|---|
 | 46 |         double dx1b = 2*dx1a; 
 | 
|---|
 | 47 |         double dy1b = 2*dy1a;
 | 
|---|
 | 48 |         for(int j=0; j<6; j++) {
 | 
|---|
 | 49 |           double dx2a = 0.35*cos(j*M_PI/3.)*d;
 | 
|---|
 | 50 |           double dy2a = 0.35*sin(j*M_PI/3.)*d;
 | 
|---|
 | 51 |           double dx2b = 2*dx2a; 
 | 
|---|
 | 52 |           double dy2b = 2*dy2a;
 | 
|---|
 | 53 |           h2.Add((x+dx1a-dx2a), (y+dy1a-dy2a), wa); 
 | 
|---|
 | 54 |           h2.Add((x+dx1b-dx2b), (y+dy1b-dy2b), wb);     
 | 
|---|
 | 55 |         }
 | 
|---|
 | 56 |   }
 | 
|---|
 | 57 |   return 0;
 | 
|---|
 | 58 | } | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.