| 1 | ** Add changes at the beginning! **
|
|---|
| 2 |
|
|---|
| 3 | 21/11/2004 A. Moralejo
|
|---|
| 4 |
|
|---|
| 5 | Added subdirectory writemagicdef under ReflectorII/. It contains the
|
|---|
| 6 | program to generate the positions and orientations of the mirrors.
|
|---|
| 7 | Directory contains Makefile and writemagicdef.c
|
|---|
| 8 |
|
|---|
| 9 | Moved back the default magic.def to be the one with no chessboarding,
|
|---|
| 10 | but with the final number of mirrors (964). It is more versatile to
|
|---|
| 11 | simulate the chessboarding at the camera level. For possible tests, a
|
|---|
| 12 | definitions file magic_chessboard.def has been created, but it is NOT
|
|---|
| 13 | recommended to use it.
|
|---|
| 14 |
|
|---|
| 15 | Removed file axisdev_no_chessboard.def, no longer necessary because now
|
|---|
| 16 | both the magic,def and the magic_chessboard.def files cobtain 964
|
|---|
| 17 | mirrors.
|
|---|
| 18 |
|
|---|
| 19 | geometry.[c,h]: added reading of token chessboarded_panels from magic
|
|---|
| 20 | definitions file. Nothing special is done with the token. It will simply
|
|---|
| 21 | be written to the ascii tail of the reflector simulation output, which
|
|---|
| 22 | will in turn be read by the camera simulation.
|
|---|
| 23 |
|
|---|
| 24 | 03/11/2004 A. Moralejo
|
|---|
| 25 |
|
|---|
| 26 | reflector.c, header.c: Fixed problem: the correct telescope theta and
|
|---|
| 27 | phi were not written to the output of reflector, because the variables
|
|---|
| 28 | were filled before they were changed in the case of wobble mode. This has
|
|---|
| 29 | been corrected.
|
|---|
| 30 |
|
|---|
| 31 | 27/09/2004 A. Moralejo
|
|---|
| 32 |
|
|---|
| 33 | A bit of cleaning in Makefile (remove useless CERNLIB)
|
|---|
| 34 |
|
|---|
| 35 |
|
|---|
| 36 | 28/08/2004 A. Moralejo
|
|---|
| 37 |
|
|---|
| 38 | Changes in configuration files. Renamed Data/magic.def and Data/axisdev.dat
|
|---|
| 39 | to magic_no_chessboard.def and axisdev_no_chessboard.def. Now default
|
|---|
| 40 | axisdev.dat and magic.def contain 964 mirrors as in the present MAGIC
|
|---|
| 41 | configuration, and the panels are in a chessboard pattern
|
|---|
| 42 |
|
|---|
| 43 | 30/04/2003 A. Moralejo
|
|---|
| 44 |
|
|---|
| 45 | ph2cph.c: Found out that the fix from yesterday, although it "patched" the
|
|---|
| 46 | loss of photons, did not remove the real cause for it. Actually in the
|
|---|
| 47 | determination of the intersection of the photon with the paraboloid there
|
|---|
| 48 | was an overflow which resulted in nonsense coordinates beyond 10 m from
|
|---|
| 49 | the mirror dish center. It has been fixed fixed by changing the following
|
|---|
| 50 | cut:
|
|---|
| 51 |
|
|---|
| 52 | if ( fabs(a) < 1.e-3 ) {
|
|---|
| 53 | xcut[2] = -c / b
|
|---|
| 54 | }
|
|---|
| 55 |
|
|---|
| 56 | which was formerly < 1.e-6.
|
|---|
| 57 |
|
|---|
| 58 | I also noticed that the problem from yesterday was not so serious: it only
|
|---|
| 59 | removed a significant amount of the photons nearly paralel to the telescope
|
|---|
| 60 | axis, but globally, over a cer file there is no big difference.
|
|---|
| 61 |
|
|---|
| 62 | 29/04/2003 A. Moralejo
|
|---|
| 63 |
|
|---|
| 64 | ph2cph.c:
|
|---|
| 65 | Changed determination of which mirror element is hit. Before there was a
|
|---|
| 66 | problem when going to very large distances from the mirror center, sometimes
|
|---|
| 67 | a wrong mirror was chosen, which was actually further away from the impact
|
|---|
| 68 | point than the mirror size, and therefore the photon was discarded later as
|
|---|
| 69 | "not hitting any mirror" (about 20% loss for eco1000) Now we measure the
|
|---|
| 70 | distance on the paraboloid. The new code is:
|
|---|
| 71 |
|
|---|
| 72 | /* calculate the mirror to be used */
|
|---|
| 73 |
|
|---|
| 74 | distmirr = 1000000.0f;
|
|---|
| 75 |
|
|---|
| 76 | for (i=0; i<ct_NMirrors && distmirr>=ct_RMirror; ++i) {
|
|---|
| 77 | distmirr2 = (float) sqrt(SQR(ct_data[i].sx - sx) +
|
|---|
| 78 | SQR(ct_data[i].sy - sy));
|
|---|
| 79 |
|
|---|
| 80 | if (distmirr2 < distmirr) {
|
|---|
| 81 | i_mirror = i;
|
|---|
| 82 | distmirr = distmirr2;
|
|---|
| 83 | }
|
|---|
| 84 | }
|
|---|
| 85 |
|
|---|
| 86 | Now the "distance" we calculate on the paraboloid is not a real distance,
|
|---|
| 87 | because sx,sy are measured along the cut between the paraboloid and planes
|
|---|
| 88 | containing the paraboloid axis and the x or y axis... but this should not
|
|---|
| 89 | matter much with such "flat" paraboloids. What cannot be done, as was before,
|
|---|
| 90 | is check the distance in the x,y,z space and then check whether the photon
|
|---|
| 91 | is inside the mirror in the sx,sy space, because then we lose photons for
|
|---|
| 92 | which a nearest mirror is chosen which in sx,sy is not close enough to
|
|---|
| 93 | contain the photon.
|
|---|
| 94 |
|
|---|
| 95 | geometry.c:
|
|---|
| 96 | Small change in calculation of ct_nax_radius (introduced fabs, but nothing
|
|---|
| 97 | changes)
|
|---|
| 98 |
|
|---|
| 99 | 16/04/2003 A. Moralejo
|
|---|
| 100 |
|
|---|
| 101 | MagicSoft/Simulation/Detector/Data/ :
|
|---|
| 102 | Added eco1000.def and axisdev1000.dat for eco-1000 studies
|
|---|
| 103 |
|
|---|
| 104 | 4/04/2003 A. Moralejo
|
|---|
| 105 |
|
|---|
| 106 | init.h, geometry.c, ph2cph.c:
|
|---|
| 107 | introduced variable ct_max_radius, the maximum distance in x or y from the
|
|---|
| 108 | center to the edge of the telescope, measured on the parabolic dish. This
|
|---|
| 109 | is used in a fast check of whether the photon hits the disk in ph2cph.c
|
|---|
| 110 |
|
|---|
| 111 | ph2cph.c:
|
|---|
| 112 | in function Lin2Curv(float x), changed the calculation of the curvilinear
|
|---|
| 113 | coordinates (which before was only valid for ~17 m focus paraboloids).
|
|---|
| 114 |
|
|---|
| 115 | 22/01/2003 A. Moralejo
|
|---|
| 116 |
|
|---|
| 117 | Fixed small bug in reflector.c. The end of run flag was not written to the
|
|---|
| 118 | output when the max_events option was used in the input card.
|
|---|
| 119 |
|
|---|
| 120 | 21/01/2003 A. Moralejo
|
|---|
| 121 |
|
|---|
| 122 | Removed from the output a null byte written right after the ascii label
|
|---|
| 123 | containing the program version number which is at the beginning of the rfl
|
|---|
| 124 | file.
|
|---|
| 125 |
|
|---|
| 126 | 19/12/2002 - 17/01/2003 A. Moralejo
|
|---|
| 127 |
|
|---|
| 128 | Lots of changes. Moved simulation of Mie scattering and Ozone absorption from
|
|---|
| 129 | attenu.f to atm.c, and changed the way it is done. Before it was not correct
|
|---|
| 130 | for large zenith angle (a variation like for Rayleigh scattering was assumed
|
|---|
| 131 | for both Mie scattering and Ozone absorption).
|
|---|
| 132 |
|
|---|
| 133 |
|
|---|
| 134 | 13/12/2002 A. Moralejo
|
|---|
| 135 |
|
|---|
| 136 | attenu.f: Found mistake in Mie absorption calculation (height from sea
|
|---|
| 137 | level was taken as height above observation level). Changed optical depths
|
|---|
| 138 | table for Mie attenuation. Now they are no longer referred to 2 km height,
|
|---|
| 139 | but to sea level. Detector level is taken into account later in calculation.
|
|---|
| 140 |
|
|---|
| 141 | 10/12/2002 A. Moralejo
|
|---|
| 142 |
|
|---|
| 143 | attenu.f: Added comments, removed old/unnecessary code, corrected small
|
|---|
| 144 | mistake in Elterman's table for ozone optical depth.
|
|---|
| 145 |
|
|---|
| 146 | atm.c,h : removed atmospheric model "ATM_ISOTHERMAL" which actually was
|
|---|
| 147 | not even implemented in the code, although it could be selected in the
|
|---|
| 148 | input card.
|
|---|
| 149 |
|
|---|
| 150 | 15/11/2002 A. Moralejo
|
|---|
| 151 |
|
|---|
| 152 | ph2cph.c: Fixed BUG in timing calculation!!! The time to be subtracted
|
|---|
| 153 | (mirror till ground) had the wrong sign!!!
|
|---|
| 154 |
|
|---|
| 155 | reflector.c: in the wavelength range check, changed the range limits to
|
|---|
| 156 | the fixed values 290 and 600 nm. The StarFieldAdder cer files could not be
|
|---|
| 157 | processed otherwise, because the w range is not written in their headers.
|
|---|
| 158 |
|
|---|
| 159 | ph2cph.c: changed sign of phi angle to make it positive. This was necessary
|
|---|
| 160 | since now the vector indicating the reflected photon trajectory has also
|
|---|
| 161 | changed sign! (see note below, 11/11).
|
|---|
| 162 |
|
|---|
| 163 | 14/11/2002 A. Moralejo
|
|---|
| 164 | reflector.c, parms.c: Added wobble mode option. Added wobble flag to the
|
|---|
| 165 | output and also an atmospheric_model flag.
|
|---|
| 166 |
|
|---|
| 167 | 13/11/2002 A. Moralejo
|
|---|
| 168 | reflector.c, header.h: Introduced 3 counters to keep track of what proportion
|
|---|
| 169 | of the C-photons in each event have been produced by electrons, muons or
|
|---|
| 170 | other particles.
|
|---|
| 171 |
|
|---|
| 172 | 11/11/2002 A. Moralejo
|
|---|
| 173 | ph2cph.c: BUG found! and fixed: the direction cosines in the cer files are
|
|---|
| 174 | those of the downgoing directions of photons, hence third component is
|
|---|
| 175 | negative. Before it was assumed positive. This, together with a wrong
|
|---|
| 176 | reflection in the individual mirrors (also changed) resulted in a subtle
|
|---|
| 177 | error which produced a quite de-focused reflector!
|
|---|
| 178 |
|
|---|
| 179 | reflector.c: for the same reason as above, the sign of theta in the calls
|
|---|
| 180 | to makeOmega had to be changed (+pi added to the phi argument).
|
|---|
| 181 |
|
|---|
| 182 | geometry.c, ph2cph.c, reflector.c, init.h: eliminated array ct_Focal[]
|
|---|
| 183 | which contained the focal lengths of individual mirrors. It was redundant
|
|---|
| 184 | since the same information is available in ct_data[].f
|
|---|
| 185 |
|
|---|
| 186 | Oct/2002 A. Moralejo
|
|---|
| 187 | added attach.c to attach the files magic.def, axisdev.dat and
|
|---|
| 188 | reflectivity.dat to the end of the reflector output.
|
|---|
| 189 |
|
|---|
| 190 | Sept/2002 A. Moralejo
|
|---|
| 191 | header.h, reflector.c: added run header (=Corsika's), changed event header.
|
|---|
| 192 |
|
|---|
| 193 | 3/7/2002 A. Moralejo
|
|---|
| 194 | reflector.c: Introduced NaN check in the photon loop.
|
|---|
| 195 | If NAns are found in a photon data block, it is not processed.
|
|---|
| 196 |
|
|---|
| 197 | ph2cph.c: Introduced "check of positiveness" before taking the sqrt
|
|---|
| 198 | in the calculation of the photon trajectory intersection with the
|
|---|
| 199 | global paraboloid.
|
|---|
| 200 |
|
|---|
| 201 |
|
|---|
| 202 |
|
|---|