source: trunk/MagicSoft/include-Classes/MMcFormat/MMcRunHeader.hxx@ 1414

Last change on this file since 1414 was 1342, checked in by tbretz, 22 years ago
*** empty log message ***
  • Property svn:executable set to *
File size: 4.8 KB
Line 
1#ifndef MARS_MMcRunHeader
2#define MARS_MMcRunHeader
3///////////////////////////////////////////////////////////////////////
4// //
5// MRunHeader //
6// //
7///////////////////////////////////////////////////////////////////////
8
9#ifndef MARS_MParContainer
10#include "MParContainer.h"
11#endif
12
13
14class MMcRunHeader : public MParContainer
15{
16private:
17 UInt_t fNumTrigCond; // Number of trigger conditions in this file,
18 // zero means single condition mode
19
20 //-- 0 means: MMcTrig
21 //-- 1 means: MMcTrig;1
22 //-- 2 means: MMcTrig;1 MMcTrig;2
23
24 Byte_t fAllEvtsTriggered; // boolean that indicates is all images are
25 // saved or only the ones that trigger
26
27 Byte_t fMcEvt; // McEvt stored or not
28 Byte_t fMcTrig; // McTrig stored or not
29 Byte_t fMcFadc; // McFadc stored or not
30
31 Int_t fNumAnalisedPixels; // Number of analised pixels
32
33 UInt_t fNumSimulatedShowers; // Number of showers that were simualted
34 UInt_t fNumStoredShowers; // Number of store showers in this run
35
36 // Coordinates of the Starfield
37
38 Int_t fStarFieldRaH;
39 Int_t fStarFieldRaM;
40 Int_t fStarFieldRaS;
41 Int_t fStarFieldDeD;
42 Int_t fStarFieldDeM;
43 Int_t fStarFieldDeS;
44
45 Float_t fNumPheFromDNSB; // Number of phe/ns from diffuse NSB
46
47 // Telescope axis position (zenith and azimutal angle)
48 Float_t fTelesTheta; // >180 (200) means for each shower,
49 // the Theta of shower
50 Float_t fTelesPhi; // > 360 (400) means for each shower,
51 // the Phi of shower
52
53 // Angular distance from the source position to the camera center
54 Float_t fSourceOffsetTheta;
55 Float_t fSourceOffsetPhi;
56
57 // Angular range used in the Corsika showers generation (degrees)
58 Float_t fShowerThetaMax;
59 Float_t fShowerThetaMin;
60 Float_t fShowerPhiMax;
61 Float_t fShowerPhiMin;
62
63 UShort_t fCorsikaVersion;
64 UShort_t fReflVersion;
65 UShort_t fCamVersion;
66
67 /* ---- Run Header Informations ---- */
68 Float_t fMcRunNumber; // Run Number
69 UInt_t fProductionSite; // code to know where the run was generated
70 Float_t fDateRunMMCs; // Date of the MMCs production
71 Float_t fDateRunCamera; // Date, when the Camera program is run.
72
73 Byte_t fRawEvt; // RawEvt[Data,Hedaer] stored or not
74
75 Byte_t fElecNoise; // Electronic Noise simulated or not
76 Byte_t fStarFieldRotate; // Is the starfield rotation
77 // switched on (1) or off (0)
78
79 // Wavelength limits for the Cerenkov photons
80 Float_t fCWaveLower;
81 Float_t fCWaveUpper;
82
83 // Observation levels
84 UInt_t fNumObsLev;
85 Float_t fHeightLev[10];
86
87 // Spectral index
88 Float_t fSlopeSpec;
89
90public:
91 MMcRunHeader(const char *name=NULL, const char *title=NULL);
92 ~MMcRunHeader();
93
94 void Fill(const Float_t runnumber,
95 const UInt_t productionsite,
96 const Float_t daterunMMCs,
97 const Float_t daterunCamera,
98 const UInt_t numtrigcond,
99 const Byte_t allevts,
100 const Byte_t mcevt,
101 const Byte_t mctrig,
102 const Byte_t mcfadc,
103 const Byte_t rawevt,
104 const Byte_t elecnoise,
105 const Int_t numanalpixels,
106 const UInt_t numsim,
107 const UInt_t numsto,
108 const Byte_t starfieldrotate,
109 const Int_t sfRaH,
110 const Int_t sfRaM,
111 const Int_t sfRaS,
112 const Int_t sfDeD,
113 const Int_t sfDeM,
114 const Int_t sfDeS,
115 const Float_t numdnsb,
116 const Float_t telestheta,
117 const Float_t telesphi,
118 const Float_t sofftheta,
119 const Float_t soffphi,
120 const Float_t shthetamax,
121 const Float_t shthetamin,
122 const Float_t shphimax,
123 const Float_t shphimin,
124 const Float_t cwavelower,
125 const Float_t cwaveupper,
126 const Float_t slopespec,
127 const UInt_t num0bslev,
128 const Float_t heightlev[10],
129 const UInt_t corsika,
130 const UInt_t refl,
131 const UInt_t cam
132 );
133
134 void GetStarFieldRa(Int_t *hour, Int_t *minute, Int_t *second) const;
135 void GetStarFieldDec(Int_t *degree, Int_t *minute, Int_t *second) const;
136
137 Float_t GetNumPheFromDNSB() const { return fNumPheFromDNSB; }
138 Float_t GetTelesTheta() const { return fTelesTheta; }
139 UShort_t GetCamVersion() const { return fCamVersion; }
140 UShort_t GetReflVersion() const { return fReflVersion; }
141 UInt_t GetNumSimulatedShowers() const { return fNumSimulatedShowers; }
142 UInt_t GetCorsikaVersion() const { return fCorsikaVersion; }
143 Bool_t GetAllEvtsTriggered() const { return fAllEvtsTriggered ? kTRUE : kFALSE; }
144
145 ClassDef(MMcRunHeader, 2) // storage container for general info
146};
147#endif
148
149
Note: See TracBrowser for help on using the repository browser.