# ==================================;# calculate angle in wire plane# ==================================;# convert degrees->radiansd2r:='d2r':d2r:=angle->evalf(convert(angle, units, degree, radians));NiM+SSRkMnJHNiJmKjYjSSZhbmdsZUdGJUYlNiRJKW9wZXJhdG9yR0YlSSZhcnJvd0dGJUYlLUkmZXZhbGZHSSpwcm90ZWN0ZWRHRi42Iy1JKGNvbnZlcnRHRi42JjkkSSZ1bml0c0dGJUknZGVncmVlR0YuSShyYWRpYW5zR0YlRiVGJUYl# convert radians->degreer2d:='r2d':r2d:=angle->evalf(convert(angle, units, radians, degrees));NiM+SSRyMmRHNiJmKjYjSSZhbmdsZUdGJUYlNiRJKW9wZXJhdG9yR0YlSSZhcnJvd0dGJUYlLUkmZXZhbGZHSSpwcm90ZWN0ZWRHRi42Iy1JKGNvbnZlcnRHRi42JjkkSSZ1bml0c0dGJUkocmFkaWFuc0dGJUkoZGVncmVlc0dGJUYlRiVGJQ==# angles defined in respect to vdc planevdc_phi := 45.0; # NiM+SSh2ZGNfcGhpRzYiJCIkXSUhIiI=vdc_theta := 0.0; # NiM+SSp2ZGNfdGhldGFHNiIkIiIhRic=Gamma := 45.0; # wire string angle , xw-lpaneNiM+SSZHYW1tYUc2IiQiJF0lISIiL := 13.0; # distance wire->HV planeNiM+SSJMRzYiJCIkSSIhIiI=D_frame := 6.0; # distance wires on the frame NiM+SShEX2ZyYW1lRzYiJCIjZyEiIg==# convert angles to my drawings # (angles measured in respect to global Z: perp. to vdc-plane) # so I can use my expressionstheta:= vdc_theta; NiM+SSZ0aGV0YUc2IiQiIiFGJw==phi := 90-vdc_phi; NiM+SSRwaGlHNiIkIiRdJSEiIg==# ==================================;# convert deg into rad# ==================================;theta_rad := d2r(theta);NiM+SSp0aGV0YV9yYWRHNiIkIiIhRic=phi_rad := d2r(phi);NiM+SShwaGlfcmFkRzYiJCIrTjspUiZ5ISM1Gamma_rad := d2r(Gamma);NiM+SSpHYW1tYV9yYWRHNiIkIitOOylSJnkhIzU=# ==================================;# 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 );NiM+SSJwRzYiZio2JUkkcGhpR0YlSSZ0aGV0YUdGJUkiTEdGJUYlNiRJKW9wZXJhdG9yR0YlSSZhcnJvd0dGJUYlLCQqJjkmIiIiLUklc3FydEc2JEkqcHJvdGVjdGVkR0Y1SShfc3lzbGliR0YlNiMsJiokLUkkdGFuR0Y0NiMtSSRkMnJHRiU2IzkkIiIjRjEqJC1GOzYjLUY+NiM5JUZBRjFGMUZBRiVGJUYlp(phi,theta,L);NiMkIisrKysrRSEiKQ==# projected track angle in xy-plane (HV-plane)alpha:='alpha':alpha:= (phi,theta)->r2d(arctan( tan(d2r(phi))/tan(d2r(theta))));NiM+SSZhbHBoYUc2ImYqNiRJJHBoaUdGJUkmdGhldGFHRiVGJTYkSSlvcGVyYXRvckdGJUkmYXJyb3dHRiVGJS1JJHIyZEdGJTYjLUknYXJjdGFuRzYkSSpwcm90ZWN0ZWRHRjNJKF9zeXNsaWJHRiU2IyomLUkkdGFuR0YyNiMtSSRkMnJHRiU2IzkkIiIiLUY4NiMtRjs2IzklISIiRiVGJUYlalpha(phi,theta);NiMkIisrKysrISohIik=# ==================================;# 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)) );NiM+SSNzcEc2ImYqNiZJJnRoZXRhR0YlSSRwaGlHRiVJIkxHRiVJJkdhbW1hR0YlRiU2JEkpb3BlcmF0b3JHRiVJJmFycm93R0YlRiUqJi1JInBHRiU2JTklOSQ5JiIiIi1JJGNvc0c2JEkqcHJvdGVjdGVkR0Y6SShfc3lzbGliR0YlNiMtSSRkMnJHRiU2IywmOSdGNi1JJmFscGhhR0YlNiRGM0Y0ISIiRjZGJUYlRiU=sp(theta,phi,L,Gamma);NiMkIitKd1pRPSEiKQ==# ==================================;# projected track angle seen by (perp.) wire plane # (track angle required by GARFIELD)gamma_gar:='gamma_gar';NiM+SSpnYW1tYV9nYXJHNiJGJA==gamma_gar:=(theta,phi,Gamma,L)->90-r2d(arctan(sp(theta,phi,L,Gamma)/(2*L)));NiM+SSpnYW1tYV9nYXJHNiJmKjYmSSZ0aGV0YUdGJUkkcGhpR0YlSSZHYW1tYUdGJUkiTEdGJUYlNiRJKW9wZXJhdG9yR0YlSSZhcnJvd0dGJUYlLCYiIyEqIiIiLUkkcjJkR0YlNiMtSSdhcmN0YW5HNiRJKnByb3RlY3RlZEdGOEkoX3N5c2xpYkdGJTYjLCQqJi1JI3NwR0YlNiY5JDklOSc5JkYxRkIhIiIjRjEiIiNGREYlRiVGJQ==gamma_gar(theta,phi,Gamma,L);NiMkIitONWN0YSEiKQ==# ==================================;# wire distance within wire-plane: D_local:='Dlocal':D_local:= (D_frame,Gamma)->D_frame*sin(d2r(Gamma));NiM+SShEX2xvY2FsRzYiZio2JEkoRF9mcmFtZUdGJUkmR2FtbWFHRiVGJTYkSSlvcGVyYXRvckdGJUkmYXJyb3dHRiVGJSomOSQiIiItSSRzaW5HNiRJKnByb3RlY3RlZEdGM0koX3N5c2xpYkdGJTYjLUkkZDJyR0YlNiM5JUYvRiVGJUYlD_local(D_frame,Gamma);NiMkIispb1NFQyUhIio=# ==================================;# number of drift cells beeing hitN_wires:='N_wires';NiM+SShOX3dpcmVzRzYiRiQ=N_wires:=(theta,phi,L,D_frame,Gamma)->2*L/(D_local(D_frame,Gamma)*tan(d2r(gamma_gar(theta,phi,Gamma,L))));NiM+SShOX3dpcmVzRzYiZio2J0kmdGhldGFHRiVJJHBoaUdGJUkiTEdGJUkoRF9mcmFtZUdGJUkmR2FtbWFHRiVGJTYkSSlvcGVyYXRvckdGJUkmYXJyb3dHRiVGJSwkKig5JiIiIi1JKERfbG9jYWxHRiU2JDknOSghIiItSSR0YW5HNiRJKnByb3RlY3RlZEdGPUkoX3N5c2xpYkdGJTYjLUkkZDJyR0YlNiMtSSpnYW1tYV9nYXJHRiU2JjkkOSVGOEYyRjkiIiNGJUYlRiU=N_wires(theta,phi,L,D_frame,Gamma);NiMkIitDTExMViEiKg==# =====================================================================================;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))))));NiM+SS5hbmdsZV9nYXJfZGVnRzYiZio2JUkqdGhldGFfZ2FyR0YlSShwaGlfZ2FyR0YlSSZHYW1tYUdGJUYlNiRJKW9wZXJhdG9yR0YlSSZhcnJvd0dGJUYlLCYiIyEqIiIiLUkkcjJkR0YlNiMtSSdhcmN0YW5HNiRJKnByb3RlY3RlZEdGN0koX3N5c2xpYkdGJTYjKiYtSSVzcXJ0R0Y2NiMsJiokLUkkdGFuR0Y2NiMtSSRkMnJHRiU2IywmRi9GMDkkISIiIiIjRjAqJC1GQTYjLUZENiMsJkYvRjA5JUZIRklGMEYwLUkkY29zR0Y2NiMsJi1GRDYjOSZGMC1GNTYjKiZGS0YwRkBGSEZIRjBGSEYlRiVGJQ==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))));NiM+SSpjZWxsX2hpdHNHNiJmKjYnSSp0aGV0YV9nYXJHRiVJKHBoaV9nYXJHRiVJJkdhbW1hR0YlSSJMR0YlSShEX2ZyYW1lR0YlRiU2JEkpb3BlcmF0b3JHRiVJJmFycm93R0YlRiUsJCoqOSciIiI5KCEiIi1JJHNpbkc2JEkqcHJvdGVjdGVkR0Y5SShfc3lzbGliR0YlNiMtSSRkMnJHRiU2IzkmRjUtSSR0YW5HRjg2Iy1GPTYjLUkuYW5nbGVfZ2FyX2RlZ0dGJTYlOSQ5JUY/RjUiIiNGJUYlRiU=#=================================================================================================My_theta:=45;My_phi:=70;My_Gamma:=45;My_L:=13;My_Dframe:=6; NiM+SSlNeV90aGV0YUc2IiIjWA==NiM+SSdNeV9waGlHNiIiI3E=NiM+SSlNeV9HYW1tYUc2IiIjWA==NiM+SSVNeV9MRzYiIiM4NiM+SSpNeV9EZnJhbWVHNiIiIic=D_local(My_Dframe,My_Gamma);NiMkIispb1NFQyUhIio=alpha(My_phi,My_theta);NiMkIisuKysrcSEiKQ==angle_gar_deg(My_theta,My_phi,My_Gamma);NiMkIitreWcuWSEiKQ==cell_hits(My_theta,My_phi,My_Gamma,My_L,My_Dframe);NiMkIit5d2A1ZiEiKg==