source: tags/Mars-V0.8.7pre/mmc/MMcRunHeader.hxx

Last change on this file was 5340, checked in by moralejo, 20 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// MMcRunHeader //
6// //
7// Version 5: removed members fSourceOffsetTheta, fSourceOffsetPhi //
8// (were no longer used) //
9// //
10// Version 6: removed members fTelesTheta, fTelesPhi //
11// (were no longer used) //
12// //
13///////////////////////////////////////////////////////////////////////
14
15#ifndef MARS_MParContainer
16#include "MParContainer.h"
17#endif
18
19
20class MMcRunHeader : public MParContainer
21{
22private:
23 UInt_t fNumTrigCond; // Number of trigger conditions in this file,
24 // zero means single condition mode
25
26 //-- 0 means: MMcTrig
27 //-- 1 means: MMcTrig;1
28 //-- 2 means: MMcTrig;1 MMcTrig;2
29
30 Byte_t fAllEvtsTriggered; // boolean that indicates is all images are
31 // saved or only the ones that trigger
32
33 Byte_t fMcEvt; // McEvt stored or not
34 Byte_t fMcTrig; // McTrig stored or not
35 Byte_t fMcFadc; // McFadc stored or not
36
37 Int_t fNumAnalisedPixels; // Number of analised pixels
38
39 UInt_t fNumSimulatedShowers; // Number of showers that were simualted
40 UInt_t fNumStoredShowers; // Number of store showers in this run
41 UInt_t fNumEvents; // Number of events in this root file
42
43 // Coordinates of the Starfield
44
45 Int_t fStarFieldRaH;
46 Int_t fStarFieldRaM;
47 Int_t fStarFieldRaS;
48 Int_t fStarFieldDeD;
49 Int_t fStarFieldDeM;
50 Int_t fStarFieldDeS;
51
52 Float_t fNumPheFromDNSB; // Number of phe/ns from diffuse NSB
53
54 // Angular range used in the Corsika showers generation (degrees)
55 Float_t fShowerThetaMax; // [deg]
56 Float_t fShowerThetaMin; // [deg]
57 Float_t fShowerPhiMax; // [deg] See note in class description.
58 Float_t fShowerPhiMin; // [deg] See note in class description.
59
60 // Maximum impact parameter in the input rfl file
61 Float_t fImpactMax; // [cm]
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 shthetamax,
120 const Float_t shthetamin,
121 const Float_t shphimax,
122 const Float_t shphimin,
123 const Float_t impactmax,
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 const Byte_t opticnoise
133 );
134
135 void GetStarFieldRa(Int_t *hour, Int_t *minute, Int_t *second) const;
136 void GetStarFieldDec(Int_t *degree, Int_t *minute, Int_t *second) const;
137
138 Float_t GetNumPheFromDNSB() const { return fNumPheFromDNSB; }
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 Float_t GetShowerThetaMin() const { return fShowerThetaMin; }
146 Float_t GetShowerThetaMax() const { return fShowerThetaMax; }
147
148 Float_t GetImpactMax() const {return fImpactMax;}
149
150 ClassDef(MMcRunHeader, 6) // storage container for general run info
151};
152#endif
153
154
Note: See TracBrowser for help on using the repository browser.