source: trunk/MagicSoft/include-Classes/MMcFormat/MMcCorsikaRunHeader.h@ 2399

Last change on this file since 2399 was 2283, checked in by blanch, 21 years ago
*** empty log message ***
  • Property svn:executable set to *
File size: 3.4 KB
Line 
1#ifndef MARS_MMcCorsikaRunHeader
2#define MARS_MMcCorsikaRunHeader
3///////////////////////////////////////////////////////////////////////
4// //
5// MMcCorsikaRunHeader //
6// //
7///////////////////////////////////////////////////////////////////////
8#ifndef MARS_MParContainer
9#include "MParContainer.h"
10#endif
11
12#ifndef ROOT_TObjArray
13#include <TObjArray.h>
14#endif
15
16class MGeomCorsikaCT;
17
18class MMcCorsikaRunHeader : public MParContainer
19{
20private:
21 // Header copied directly from CORSIKA header, skiping dummy values.
22 // The propouse of this container is being able to cmopare with
23 // Corsika run Header
24 // See CORSIKA manual for explanations
25 Float_t fRunNumber;
26 Float_t fDate;
27 Float_t fCorsikaVersion;
28 Float_t fNumObsLev;
29 Float_t fHeightLev[10];
30 Float_t fSlopeSpec; // Slope of primaries' energy spectrum
31 Float_t fELowLim;
32 Float_t fEUppLim; // Limits of energy range for generation
33 Float_t fEGS4flag;
34 Float_t fNKGflag;
35 Float_t fEcutoffh;
36 Float_t fEcutoffm;
37 Float_t fEcutoffe;
38 Float_t fEcutoffg;
39
40 // Physical constants and interaction flags (see CORSIKA manual):
41 Float_t fC[50];
42 Float_t fCKA[40];
43 Float_t fCETA[5];
44 Float_t fCSTRBA[11];
45 Float_t fAATM[5];
46 Float_t fBATM[5];
47 Float_t fCATM[5];
48 Float_t fNFL[4];
49
50 // (degrees) Inner and outer angles in Corsika's VIEWCONE option
51 Float_t fViewconeAngles[2];
52
53
54 Float_t fWobbleMode; // Indicates wobble mode with which
55 // reflector has been run
56 Float_t fAtmosphericModel; // Indicates atmospheric model used in
57 // absorption simulation. 0 = no atmosphere,
58 // 1 = atm_90percent, 2 = atm_isothermal,
59 // 3 = atm_corsika.
60 UInt_t fNumCT;
61 TObjArray fTelescopes;
62
63public:
64 MMcCorsikaRunHeader(const char *name=NULL, const char *title=NULL,
65 int NumCT=1);
66
67 void Fill(const Float_t runnumber,
68 const Float_t date,
69 const Float_t vers,
70 const Float_t fNumObsLev,
71 const Float_t height[10],
72 const Float_t slope,
73 const Float_t elow,
74 const Float_t eupp,
75 const Float_t egs4,
76 const Float_t nkg,
77 const Float_t eh,
78 const Float_t em,
79 const Float_t ee,
80 const Float_t eg,
81 const Float_t c[50],
82 const Float_t cka[40],
83 const Float_t ceta[5],
84 const Float_t cstrba[11],
85 const Float_t aatm[5],
86 const Float_t batm[5],
87 const Float_t catm[5],
88 const Float_t nfl[4],
89 const Float_t viewcone[2],
90 const Float_t wobble,
91 const Float_t atmospher
92 );
93
94 Float_t GetELowLim() const { return fELowLim; }
95 Float_t GetEUppLim() const { return fEUppLim; }
96 Float_t GetSlopeSpec() const { return fSlopeSpec; }
97
98 void FillCT(Float_t ctx, Float_t cty, Float_t ctz,
99 Float_t cttheta, Float_t ctphi,
100 Float_t ctdiam, Float_t ctfocal,
101 Int_t CTnum);
102
103 ClassDef(MMcCorsikaRunHeader, 3) // storage container for corsika setup information
104};
105#endif
106
107
108
Note: See TracBrowser for help on using the repository browser.