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

Last change on this file since 2063 was 1983, checked in by moralejo, 22 years ago
*** empty log message ***
  • Property svn:executable set to *
File size: 5.2 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 that telescope is always pointing the shower.
49 // Otherwise it is Theta where Telescope is pointing.
50 Float_t fTelesPhi; // See class description. > 360 (400) means that telescope is always pointing the shower.
51 // Otherwise it is Phi where Telescope is pointing.
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; // [deg]
59 Float_t fShowerThetaMin; // [deg]
60 Float_t fShowerPhiMax; // [deg] See note in class description.
61 Float_t fShowerPhiMin; // [deg] See note in class description.
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
90 // Noise from Optic Links
91 Byte_t fOpticLinksNoise; // Noise from Optic Links simualted or not.
92
93public:
94 MMcRunHeader(const char *name=NULL, const char *title=NULL);
95 ~MMcRunHeader();
96
97 void Fill(const Float_t runnumber,
98 const UInt_t productionsite,
99 const Float_t daterunMMCs,
100 const Float_t daterunCamera,
101 const UInt_t numtrigcond,
102 const Byte_t allevts,
103 const Byte_t mcevt,
104 const Byte_t mctrig,
105 const Byte_t mcfadc,
106 const Byte_t rawevt,
107 const Byte_t elecnoise,
108 const Int_t numanalpixels,
109 const UInt_t numsim,
110 const UInt_t numsto,
111 const Byte_t starfieldrotate,
112 const Int_t sfRaH,
113 const Int_t sfRaM,
114 const Int_t sfRaS,
115 const Int_t sfDeD,
116 const Int_t sfDeM,
117 const Int_t sfDeS,
118 const Float_t numdnsb,
119 const Float_t telestheta,
120 const Float_t telesphi,
121 const Float_t sofftheta,
122 const Float_t soffphi,
123 const Float_t shthetamax,
124 const Float_t shthetamin,
125 const Float_t shphimax,
126 const Float_t shphimin,
127 const Float_t cwavelower,
128 const Float_t cwaveupper,
129 const Float_t slopespec,
130 const UInt_t num0bslev,
131 const Float_t heightlev[10],
132 const UInt_t corsika,
133 const UInt_t refl,
134 const UInt_t cam,
135 const Byte_t opticnoise
136 );
137
138 void GetStarFieldRa(Int_t *hour, Int_t *minute, Int_t *second) const;
139 void GetStarFieldDec(Int_t *degree, Int_t *minute, Int_t *second) const;
140
141 Float_t GetNumPheFromDNSB() const { return fNumPheFromDNSB; }
142 Float_t GetTelesTheta() const { return fTelesTheta; }
143 UShort_t GetCamVersion() const { return fCamVersion; }
144 UShort_t GetReflVersion() const { return fReflVersion; }
145 UInt_t GetNumSimulatedShowers() const { return fNumSimulatedShowers; }
146 UInt_t GetCorsikaVersion() const { return fCorsikaVersion; }
147 Bool_t GetAllEvtsTriggered() const { return fAllEvtsTriggered ? kTRUE : kFALSE; }
148
149 ClassDef(MMcRunHeader, 3) // storage container for general run info
150};
151#endif
152
153
Note: See TracBrowser for help on using the repository browser.