# ==================================;# calculate angle in wire plane# ==================================;# convert degrees->radiansd2r:='d2r':d2r:=angle->evalf(convert(angle, units, degree, radians));# convert radians->degreer2d:='r2d':r2d:=angle->evalf(convert(angle, units, radians, degrees));# angles defined in respect to vdc planevdc_phi := 45.0; # vdc_theta := 0.0; # Gamma := 45.0; # wire string angle , xw-lpaneL := 13.0; # distance wire->HV planeD_frame := 6.0; # distance wires on the frame # convert angles to my drawings # (angles measured in respect to global Z: perp. to vdc-plane) # so I can use my expressionstheta:= vdc_theta; phi := 90-vdc_phi; # ==================================;# convert deg into rad# ==================================;theta_rad := d2r(theta);phi_rad := d2r(phi);Gamma_rad := d2r(Gamma);# ==================================;# projected track length in xy-plane (HV plane) p:='p':p:=(phi,theta,L)->2*L*sqrt( (tan(d2r(phi)))^2 + (tan(d2r(theta)))^2 );p(phi,theta,L);# projected track angle in xy-plane (HV-plane)alpha:='alpha':alpha:= (phi,theta)->r2d(arctan( tan(d2r(phi))/tan(d2r(theta))));alpha(phi,theta);# ==================================;# projected track lenth in zw-plane (perp. wire-plane);sp:='sp':sp:=(theta,phi,L,Gamma)->p(phi,theta,L)*cos( d2r(Gamma-alpha(phi,theta)) );sp(theta,phi,L,Gamma);# ==================================;# projected track angle seen by (perp.) wire plane # (track angle required by GARFIELD)gamma_gar:='gamma_gar';gamma_gar:=(theta,phi,Gamma,L)->90-r2d(arctan(sp(theta,phi,L,Gamma)/(2*L)));gamma_gar(theta,phi,Gamma,L);# ==================================;# wire distance within wire-plane: D_local:='Dlocal':D_local:= (D_frame,Gamma)->D_frame*sin(d2r(Gamma));D_local(D_frame,Gamma);# ==================================;# number of drift cells beeing hitN_wires:='N_wires';N_wires:=(theta,phi,L,D_frame,Gamma)->2*L/(D_local(D_frame,Gamma)*tan(d2r(gamma_gar(theta,phi,Gamma,L))));N_wires(theta,phi,L,D_frame,Gamma);# =====================================================================================;angle_gar_deg:='angle_gar_deg':angle_gar_deg:=(theta_gar,phi_gar,Gamma)->90-r2d(arctan(sqrt(tan(d2r(90-theta_gar))^2+tan(d2r(90-phi_gar))^2)*cos(d2r(Gamma)-arctan(tan(d2r(90-phi_gar))/tan(d2r(90-theta_gar))))));cell_hits:='cell_hits':cell_hits:=(theta_gar,phi_gar,Gamma,L,D_frame)->2*L/(D_frame*sin(d2r(Gamma))*tan(d2r(angle_gar_deg(theta_gar,phi_gar,Gamma))));#=================================================================================================My_theta:=45;My_phi:=70;My_Gamma:=45;My_L:=13;My_Dframe:=6; D_local(My_Dframe,My_Gamma);alpha(My_phi,My_theta);angle_gar_deg(My_theta,My_phi,My_Gamma);cell_hits(My_theta,My_phi,My_Gamma,My_L,My_Dframe);