Ignore:
Timestamp:
03/03/09 11:19:46 (16 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mcorsika
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mcorsika/MCorsikaRunHeader.cc

    r9362 r9378  
    3737//  + Float_t fMagneticFieldZ
    3838//  + Float_t fMagneticFieldAz
     39//  + Float_t fAtmosphericLayers[5]
    3940//  + Float_t fAtmosphericCoeffA[5]
    4041//  + Float_t fAtmosphericCoeffB[5]
     
    111112    fEnergyMax      = f[16];
    112113
    113     // 0/10 not supported?
     114    // Implemented in CORSIKA Version >= 6.822
     115    fImpactMax = -1;
     116
     117    // CORSIKA scattering in a disc on the ground
     118    if (f[246]>0 && f[247]==0)
     119    {
     120        *fLog << warn << "WARNING - Events scattered in a disc on the ground." << endl;
     121        fImpactMax = f[246];
     122    }
     123
     124    // MMCS scattering in a disc perpendicular to the shower axis
     125    if (f[246]==0 && f[247]>0)
     126        fImpactMax = f[247];
     127
     128    // CORSIKA scattering in a rectangle on the ground
     129    if (f[246]>0 && f[247]>0)
     130        *fLog << warn << "WARNING - Events scattered in a rectangle on the ground." << endl;
     131
     132    // Implemented in CORSIKA Version >= 6.822
     133    memcpy(fAtmosphericLayers, f+248, 5*4);
    114134
    115135    memcpy(fAtmosphericCoeffA, f+253, 5*4);
     
    136156    // f[93]  flag for additinal muon information of particle output file
    137157    // f[145] Muon multiple scattering flag
    138     // f[156] altitude of horizontal shower axis
    139158
    140159    char evth[4];
     
    176195    // FIXME: Correct for direction of magnetic field!
    177196
    178     // Number of cherenkov detectors in x
    179     // Number of cherenkov detectors in y
    180     // Grid spacing x
    181     // Grid spacing y
    182 
    183     // g[93] angle between array x-direction and magnetic north
     197    if (TMath::Nint(g[83])!=1)
     198        *fLog << warn << "WARNING - Cherenkov bunch size not 1, but " << g[83] << endl;
     199
     200    // g[84] Number of cherenkov detectors in x
     201    // g[85] Number of cherenkov detectors in y
     202    // g[86] Grid spacing x
     203    // g[87] Grid spacing y
     204    // g[88] Length of detectors in x
     205    // g[89] Length of detectors in y
    184206
    185207    fImpactMax = -1;
     
    267289
    268290    *fLog << "MagneticField:  X/Z=(" << fMagneticFieldX << "/";
    269     *fLog << fMagneticFieldZ << ")" << UTF8::kMu << "T  Az=" << fMagneticFieldAz*TMath::RadToDeg() << "deg  (magnetic North w.r.t. North)" << endl;
     291    *fLog << fMagneticFieldZ << ")" << UTF8::kMu << "T  Az=" << fMagneticFieldAz*TMath::RadToDeg() << UTF8::kDeg << "  (magnetic North w.r.t. North)" << endl;
    270292
    271293    *fLog << "Spectrum:       Slope=" << fSlopeSpectrum << "  (" << fEnergyMin << "GeV-" << fEnergyMax << "GeV)" <<  endl;
    272294    *fLog << "Wavelength:     " << fWavelengthMin << "nm - " << fWavelengthMax << "nm" << endl;
    273295
     296    if (fImpactMax>0)
     297        *fLog << "ImpactMax:      " << fImpactMax << "cm" << endl;
    274298    if (fViewConeOuterAngle>0)
    275299        *fLog << "ViewCone:       " << fViewConeInnerAngle << UTF8::kDeg << " - " << fViewConeOuterAngle << UTF8::kDeg << endl;
     
    303327        *fLog << " ATMEXT" << GetNumAtmosphericModel();
    304328    if (Has(kRefraction))
    305         *fLog << " AtmRefraction";
     329        *fLog << " +Refraction";
    306330    if (Has(kVolumedet))
    307331        *fLog << " VOLUMEDET";
     
    312336    *fLog << endl;
    313337
     338    if (HasLayers())
     339    {
     340        *fLog << "Atm.Layers:    ";
     341        for (int i=0; i<5; i++)
     342            *fLog << " " << fAtmosphericLayers[i];
     343    }
    314344    *fLog << "Atm.Coeff A:   ";
    315345    for (int i=0; i<5; i++)
  • trunk/MagicSoft/Mars/mcorsika/MCorsikaRunHeader.h

    r9348 r9378  
    6060    Float_t fViewConeOuterAngle;      // [deg]
    6161
    62     Float_t fAtmosphericCoeffA[5];    // [g/cm²] AATM (see Corsika Manual for details)
    63     Float_t fAtmosphericCoeffB[5];    // [g/cm²] BATM (see Corsika Manual for details)
    64     Float_t fAtmosphericCoeffC[5];    // [cm]    CATM (see Corsika Manual for details)
     62    Float_t fAtmosphericLayers[5];    // [cm]    ATMLAY (see Corsika Manual for details)
     63    Float_t fAtmosphericCoeffA[5];    // [g/cm²] AATM   (see Corsika Manual for details)
     64    Float_t fAtmosphericCoeffB[5];    // [g/cm²] BATM   (see Corsika Manual for details)
     65    Float_t fAtmosphericCoeffC[5];    // [cm]    CATM   (see Corsika Manual for details)
    6566
    6667    UInt_t fCerenkovFlag;
     
    107108
    108109    // Preliminary!
     110    Bool_t HasLayers() const { return fAtmosphericLayers[4]>0; }
     111
     112    const Float_t *GetAtmosphericLayers() const { return fAtmosphericLayers; }
    109113    const Float_t *GetAtmosphericCoeffA() const { return fAtmosphericCoeffA; }
    110114    const Float_t *GetAtmosphericCoeffB() const { return fAtmosphericCoeffB; }
Note: See TracChangeset for help on using the changeset viewer.