Subversion Repositories f9daq

Rev

Rev 73 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 73 Rev 84
Line 126... Line 126...
126
 
126
 
127
  Init();
127
  Init();
128
 
128
 
129
  double cx = 0.0;
129
  double cx = 0.0;
130
  TVector3 vodnik_edge[4];
130
  TVector3 vodnik_edge[4];
131
  double t = 3.0;
131
  double t = 4.0;
132
  vodnik_edge[0].SetXYZ(cx, t,-t);
132
  vodnik_edge[0].SetXYZ(cx, t,-t);
133
  vodnik_edge[1].SetXYZ(cx, t, t);
133
  vodnik_edge[1].SetXYZ(cx, t, t);
134
  vodnik_edge[2].SetXYZ(cx,-t, t);
134
  vodnik_edge[2].SetXYZ(cx,-t, t);
135
  vodnik_edge[3].SetXYZ(cx,-t,-t);
135
  vodnik_edge[3].SetXYZ(cx,-t,-t);
136
 
136
 
-
 
137
  CSurface surf;
137
  CSurface *surf = new CSurface(p_type, vodnik_edge, p_n1, p_n2, 0.96);
138
  //surf = CSurface(p_type, vodnik_edge, p_n1, p_n2, 0.96);
-
 
139
  surf.Set(p_type, vodnik_edge, p_n1, p_n2, 0.96);
138
  surf->FlipN();
140
  surf.FlipN();
139
  surf->SetFresnel(1);
141
  surf.SetFresnel(1);
140
  surf->Draw();
142
  surf.Draw();
141
 
143
 
142
  CRay *ray = new CRay(cx, 0.0, 0.0, TMath::Cos(theta), 0.0, TMath::Sin(theta));
144
  CRay *ray = new CRay(cx, 0.0, 0.0, TMath::Cos(theta), 0.0, TMath::Sin(theta));
143
  ray->SetColor(kRed);
145
  ray->SetColor(kRed);
144
  //p_pol = rotatey(p_pol0, -theta);
146
  //p_pol = rotatey(p_pol0, -theta);
145
  TVector3 sE(0,1,0);
147
  TVector3 sE(0,1,0);
Line 149... Line 151...
149
  //printf("p_pol = "); printv(p_pol);
151
  //printf("p_pol = "); printv(p_pol);
150
  ray->setPolarization(p_pol);
152
  ray->setPolarization(p_pol);
151
 
153
 
152
  ray->DrawS(cx, -5.0);
154
  ray->DrawS(cx, -5.0);
153
 
155
 
154
  CRay *out = new CRay;
156
  CRay out;
155
  out->SetColor(kBlack);
157
  out.SetColor(kBlack);
156
  TVector3 *inters = new TVector3;
158
  TVector3 *inters = new TVector3;
157
  surf->PropagateRay(*ray, out, inters);
159
  surf.PropagateRay(*ray, out, inters);
158
  printf(" n1 = %f, n2 = %f\n", p_n1, p_n2);
160
  printf(" n1 = %f, n2 = %f\n", p_n1, p_n2);
159
  //if(fate == 1) out->DrawS(cx, 5.0);
161
  //if(fate == 1) out->DrawS(cx, 5.0);
160
  out->DrawS(cx, 5.0);
162
  out.DrawS(cx, 5.0);
161
 
163
 
162
  CRay *incidentPolarization = new CRay;
164
  CRay *incidentPolarization = new CRay;
163
  incidentPolarization->SetColor(kGreen);
165
  incidentPolarization->SetColor(kGreen);
164
  incidentPolarization->Set(ray->GetR(), p_pol);
166
  incidentPolarization->Set(ray->GetR(), p_pol);
165
  incidentPolarization->DrawS(cx, 1.0);
167
  incidentPolarization->DrawS(cx, 1.0);
166
  printf(" GREEN: polarization vector\n");
168
  printf(" GREEN: polarization vector\n");
167
 
169
 
168
  CRay *surfaceNormal = new CRay;
170
  CRay *surfaceNormal = new CRay;
169
  surfaceNormal->SetColor(kBlue);
171
  surfaceNormal->SetColor(kBlue);
170
  surfaceNormal->Set(ray->GetR(), surf->GetN());
172
  surfaceNormal->Set(ray->GetR(), surf.GetN());
171
  surfaceNormal->DrawS(cx, 1.0);
173
  surfaceNormal->DrawS(cx, 1.0);
172
  printf(" BLUE: surface normal vector\n");
174
  printf(" BLUE: surface normal vector\n");
173
}
175
}
174
 
176
 
175
void ptt()
177
void ptt()