source: tags/Mars-V2.2/mmc/MMcRunHeader.hxx

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