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

Last change on this file since 3827 was 2283, checked in by blanch, 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// 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 UInt_t fNumEvents; // Number of events in this root file
36
37 // Coordinates of the Starfield
38
39 Int_t fStarFieldRaH;
40 Int_t fStarFieldRaM;
41 Int_t fStarFieldRaS;
42 Int_t fStarFieldDeD;
43 Int_t fStarFieldDeM;
44 Int_t fStarFieldDeS;
45
46 Float_t fNumPheFromDNSB; // Number of phe/ns from diffuse NSB
47
48 // Telescope axis position (zenith and azimutal angle)
49 Float_t fTelesTheta; // >180 (200) means that telescope is always pointing the shower.
50 // Otherwise it is Theta where Telescope is pointing.
51 Float_t fTelesPhi; // See class description. > 360 (400) means that telescope is always pointing the shower.
52 // Otherwise it is Phi where Telescope is pointing.
53
54 // Angular distance from the source position to the camera center
55 Float_t fSourceOffsetTheta;
56 Float_t fSourceOffsetPhi;
57
58 // Angular range used in the Corsika showers generation (degrees)
59 Float_t fShowerThetaMax; // [deg]
60 Float_t fShowerThetaMin; // [deg]
61 Float_t fShowerPhiMax; // [deg] See note in class description.
62 Float_t fShowerPhiMin; // [deg] See note in class description.
63
64 // Maximum impact parameter in the input rfl file
65 Float_t fImpactMax; // [cm]
66
67 UShort_t fCorsikaVersion;
68 UShort_t fReflVersion;
69 UShort_t fCamVersion;
70
71 /* ---- Run Header Informations ---- */
72 Float_t fMcRunNumber; // Run Number
73 UInt_t fProductionSite; // code to know where the run was generated
74 Float_t fDateRunMMCs; // Date of the MMCs production
75 Float_t fDateRunCamera; // Date, when the Camera program is run.
76
77 Byte_t fRawEvt; // RawEvt[Data,Hedaer] stored or not
78
79 Byte_t fElecNoise; // Electronic Noise simulated or not
80 Byte_t fStarFieldRotate; // Is the starfield rotation
81 // switched on (1) or off (0)
82
83 // Wavelength limits for the Cerenkov photons
84 Float_t fCWaveLower;
85 Float_t fCWaveUpper;
86
87 // Observation levels
88 UInt_t fNumObsLev;
89 Float_t fHeightLev[10];
90
91 // Spectral index
92 Float_t fSlopeSpec;
93
94 // Noise from Optic Links
95 Byte_t fOpticLinksNoise; // Noise from Optic Links simualted or not.
96
97public:
98 MMcRunHeader(const char *name=NULL, const char *title=NULL);
99 ~MMcRunHeader();
100
101 void Fill(const Float_t runnumber,
102 const UInt_t productionsite,
103 const Float_t daterunMMCs,
104 const Float_t daterunCamera,
105 const UInt_t numtrigcond,
106 const Byte_t allevts,
107 const Byte_t mcevt,
108 const Byte_t mctrig,
109 const Byte_t mcfadc,
110 const Byte_t rawevt,
111 const Byte_t elecnoise,
112 const Int_t numanalpixels,
113 const UInt_t numsim,
114 const UInt_t numsto,
115 const Byte_t starfieldrotate,
116 const Int_t sfRaH,
117 const Int_t sfRaM,
118 const Int_t sfRaS,
119 const Int_t sfDeD,
120 const Int_t sfDeM,
121 const Int_t sfDeS,
122 const Float_t numdnsb,
123 const Float_t telestheta,
124 const Float_t telesphi,
125 const Float_t sofftheta,
126 const Float_t soffphi,
127 const Float_t shthetamax,
128 const Float_t shthetamin,
129 const Float_t shphimax,
130 const Float_t shphimin,
131 const Float_t impactmax,
132 const Float_t cwavelower,
133 const Float_t cwaveupper,
134 const Float_t slopespec,
135 const UInt_t num0bslev,
136 const Float_t heightlev[10],
137 const UInt_t corsika,
138 const UInt_t refl,
139 const UInt_t cam,
140 const Byte_t opticnoise
141 );
142
143 void GetStarFieldRa(Int_t *hour, Int_t *minute, Int_t *second) const;
144 void GetStarFieldDec(Int_t *degree, Int_t *minute, Int_t *second) const;
145
146 Float_t GetNumPheFromDNSB() const { return fNumPheFromDNSB; }
147 Float_t GetTelesTheta() const { return fTelesTheta; }
148 UShort_t GetCamVersion() const { return fCamVersion; }
149 UShort_t GetReflVersion() const { return fReflVersion; }
150 UInt_t GetNumSimulatedShowers() const { return fNumSimulatedShowers; }
151 UInt_t GetCorsikaVersion() const { return fCorsikaVersion; }
152 Bool_t GetAllEvtsTriggered() const { return fAllEvtsTriggered ? kTRUE : kFALSE; }
153 Float_t GetImpactMax() const {return fImpactMax;}
154
155 ClassDef(MMcRunHeader, 4) // storage container for general run info
156};
157#endif
158
159
Note: See TracBrowser for help on using the repository browser.