source: trunk/MagicSoft/Mars/mcorsika/MCorsikaEvtHeader.h@ 9474

Last change on this file since 9474 was 9331, checked in by tbretz, 16 years ago
*** empty log message ***
File size: 2.4 KB
Line 
1#ifndef MARS_MCorsikaEvtHeader
2#define MARS_MCorsikaEvtHeader
3
4#ifndef MARS_MParContainer
5#include "MParContainer.h"
6#endif
7
8#ifndef ROOT_TVector3
9#include <TVector3.h>
10#endif
11
12// gcc 3.2
13//class ifstream;
14#include <iosfwd>
15
16class MCorsikaEvtHeader : public MParContainer
17{
18private:
19 UInt_t fEvtNumber; // Event number
20// UInt_t fParticleID; // Particle ID (see MMcEvtBasic or CORSIKA manual)
21 Float_t fTotalEnergy; // [GeV]
22
23 Float_t fStartAltitude; // [g/cm²]
24 Float_t fFirstTargetNum; // Number of first target if fixed
25 Float_t fFirstInteractionHeight; // [cm] z coordinate, first intercation height
26
27 Float_t fMomentumX; // [GeV/c] "+west" "-east"
28 Float_t fMomentumY; // [GeV/c] "+south" "-north" (north denotes the magnet north which is defined to be in the geografic north!)
29 Float_t fMomentumZ; // [GeV/c] "+upwards" "-downwards"
30
31 Float_t fZd; // [rad] Zenith distance
32 Float_t fAz; // [rad] Azimuth (north=0; east=90) (north denotes the magnet north which is defined to be in the geografic north!)
33
34 Float_t fX; // [cm] Position of telescope on ground x / - impact parameter x
35 Float_t fY; // [cm] Position of telescope on gorund y / - impact parameter y
36
37 Float_t fWeightedNumPhotons; // weighted number of photons arriving at observation level
38
39public:
40 MCorsikaEvtHeader(const char *name=NULL, const char *title=NULL);
41
42 //void Clear(Option_t * = NULL);
43 void Print(Option_t * = NULL) const;
44
45 UInt_t GetEvtNumber() const { return fEvtNumber; }
46// UInt_t GetParticleID() const { return fParticleID; }
47
48 TVector3 GetMomentum() const { return TVector3(fMomentumX, fMomentumY, fMomentumZ); }
49 TVector2 GetImpactPos() const { return TVector2(fX, fY); }
50
51 Float_t GetTotalEnergy() const { return fTotalEnergy; }
52 Float_t GetFirstInteractionHeight() const { return fFirstInteractionHeight; }
53
54 Float_t GetZd() const { return fZd; }
55 Float_t GetAz() const { return fAz; }
56
57 Float_t GetX() const { return fX; }
58 Float_t GetY() const { return fY; }
59
60 Double_t GetImpact() const;
61
62 Int_t ReadEvt(istream& fin); // read in event header block
63 Bool_t ReadEvtEnd(istream& fin); // read in event end block
64
65 ClassDef(MCorsikaEvtHeader, 1) // Parameter Conatiner for raw EVENT HEADER
66};
67
68#endif
Note: See TracBrowser for help on using the repository browser.