source: JEM-EUSO/esaf_cc_at_lal/packages/simulation/generators/showers/include/ConexFileShowerGenerator.hh @ 114

Last change on this file since 114 was 114, checked in by moretto, 11 years ago

actual version of ESAF at CCin2p3

File size: 4.1 KB
Line 
1// $Id$
2// Author: kenjikry   2009/03/04
3
4/*****************************************************************************
5 * ESAF: Euso Simulation and Analysis Framework                              *
6 *                                                                           *
7 *  Id: ConexFileGenerator                                                   *
8 *  Package: <generators/shower>                                             *
9 *  Coordinator: <Dmitry.Naumov>                                             *
10 *                                                                           *
11 *****************************************************************************/
12
13#ifndef __CONEXFILEGENERATOR_HH__
14#define __CONEXFILEGENERATOR_HH__
15
16#include "euso.hh"
17#include "EventGenerator.hh"
18#include "EsafMsgSource.hh"
19#include "ShowerStep.hh"
20#include "EarthVector.hh"
21#include <TString.h>
22
23class PhysicsData;
24class MCTruth;
25class ShowerTrack;
26class TTree;
27class TFile;
28class TLorentzVector;
29////////////////////////////////////////////////////////////////////////////////
30//                                                                            //
31// ConexFileGenerator                                                         //
32//                                                                            // 
33// <brief class description>                                                  // 
34//                                                                            // 
35////////////////////////////////////////////////////////////////////////////////
36
37class ConexFileShowerGenerator : public EventGenerator, public EsafMsgSource {
38public:
39    ConexFileShowerGenerator();
40    virtual ~ConexFileShowerGenerator();
41
42    // get a new event
43    PhysicsData *Get();
44
45    // get pointer to MonteCarlo Truth
46    MCTruth *GetTruth();
47
48    virtual void Reset();                                       // Reset important variables for the next event
49 
50    EsafConfigClass(Generators, ConexFileShowerGenerator)
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68private:
69    // open conex root file
70    void OpenFile();
71    // close conex root file
72    void CloseFile();
73    // init trees
74    void InitTrees();
75    // load shower track
76    Bool_t LoadTrack();
77    const ShowerStep& GetShowerStep(Int_t); 
78
79    ShowerTrack          *fTrack;                          // Shower Track object
80    ShowerStep            fStep;                           // current ShowerStep object   
81    MCTruth              *fTruth;                          // MC Truth information
82    Int_t                 fCurrentEvent;                   // current event
83    TFile                *fInputFile;                      // Conex input Root File
84    TString               fFileName;                       // Conex input root file name
85    Int_t                 fFirstEvent;                     // first event to start froms
86    TTree                *fConexHeader;                    // Conex header tree
87    TTree                *fConexShower;                    // Conex Shower tree
88    TTree                *fConexFirstInteraction;          // Conex first interaction tree
89    Float_t X[4000], H[4000],D[4000],N[4000],Electrons[4000],eN[4000],dEdX[4000];
90    Int_t nX, nPart, nInt, PrimaryIndex,IdInt1[100000];
91    Double_t depth[100000], px[100000],py[100000],pz[100000],Energy[100000];                       // first depth of the current track and momentum
92    Double_t Xmax;
93    Double_t height[100];
94    Float_t fitpars[11];
95    Float_t zenith,azimuth,lgE;
96    Float_t delX;
97    Float_t Hfirst;
98
99    Double_t fCoreX, fCoreY, fCoreH;
100    Double_t fTheta, fPhi;
101    Bool_t fForceTheta, fForcePhi;
102
103// temporary setting (hand-in input)
104  Float_t core_x,core_y,core_z;
105  Float_t cnx_l,cnx_m,cnx_n;  // Theta,phi direction cosine with respect to shower landing posistion
106  Float_t geo_l,geo_m,geo_n; // Shower direction cosines with respect to geocentric coordinates (Ng=1; geocentre->EUSO)
107 
108
109
110
111 
112  Double_t prevdepth;
113  EarthVector prevpoint, currentpoint;
114  TLorentzVector       *pMom;                          // UHECR 4 momentum
115
116
117  ClassDef(ConexFileShowerGenerator,0);
118
119 
120
121};
122
123#endif  /* __CONEXFILEGENERATOR_HH__ */
124
Note: See TracBrowser for help on using the repository browser.