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

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