FDsimG4Write2ROOT.hh
Go to the documentation of this file.
1 #ifndef _TelescopeSimulatorLX_FDsimG4Write2ROOT_h_
2 #define _TelescopeSimulatorLX_FDsimG4Write2ROOT_h_
3 
4 #include <string>
5 #include <utl/CoordinateSystemPtr.h>
6 
7 class TFile;
8 class TTree;
9 class TDirectory;
10 
11 namespace utl {
12  class Photon;
13 }
14 
15 namespace TelescopeSimulatorLX {
16 
17  class FDsimG4StoreOpticalHit;
18 
20 
21  public:
23  FDsimG4Write2ROOT (const std::string& RootFilename);
25 
26  void Open(const std::string& RootFilename);
27  void SaveAndClose();
28  void CreateTree();
29  void FillTree();
30  void WriteIt();
31  void Clean();
32 
35 
37  void SetG4LensPhoton(FDsimG4StoreOpticalHit* G4_photon);
40  void SetG4FSPhoton(FDsimG4StoreOpticalHit* G4_photon);
41  void SetG4Photon(FDsimG4StoreOpticalHit* G4_photon);
42  void SetINPhoton(FDsimG4StoreOpticalHit* G4_photon);
43  void SetINPhoton(utl::Photon IN_photon ,
46 
47  private:
50 
51  TFile *fRootFile;
52  TTree *fTreePhotons;
53  TDirectory *fSaveDir;
54 
55  struct G4_info{
56  double x;
57  double y;
58  double z;
60 
61  struct G4_infoFS{
62  double x;
63  double y;
64  double z;
65  double alfa;
66  double beta;
67  double th;
68  double phi;
69  } fG4FS_info;
70 
71  struct G4_info2{
72  double x;
73  double y;
74  double z;
75  double alfa;
76  double beta;
77  double E;
78  double w;
79  double t;
80  double LocX;
81  double LocY;
82  double LocZ;
83  double PixX;
84  double PixY;
85  double PixZ;
86  double HitID;
87  double PMTid;
88  } fG4_info;
89 
90  struct IN_info{
91  double x;
92  double y;
93  double z;
94  double DX;
95  double DY;
96  double DZ;
97  double th;
98  double phi;
99  double wantedPix;
100  double wantedTh;
101  double wantedPhi;
102  } fIN_info;
103 
104  struct IN_infoExp{
105  double x;
106  double y;
107  double z;
108  double alfa;
109  double beta;
110  double DX;
111  double DY;
112  double DZ;
113  double th;
114  double phi;
115  } fINExp_info;
116 
117  struct kn_info{
118  int G4Filter;
119  int G4Lens;
120  int G4Mirror;
122  int G4FS;
123  int G4;
124  } fn_info;
125 
126 };
127 
128 } // TelescopeSimulatorLX
129 
130 #endif // _TelescopeSimulatorLX_FDsimG4Write2ROOT_h_
131 
void SetG4Photon(FDsimG4StoreOpticalHit *G4_photon)
struct TelescopeSimulatorLX::FDsimG4Write2ROOT::kn_info fn_info
void SetINPhoton(FDsimG4StoreOpticalHit *G4_photon)
void SetTelCS(utl::CoordinateSystemPtr telCS)
void SetG4MirrorPhoton(FDsimG4StoreOpticalHit *G4_photon)
struct TelescopeSimulatorLX::FDsimG4Write2ROOT::IN_infoExp fINExp_info
struct TelescopeSimulatorLX::FDsimG4Write2ROOT::G4_infoFS fG4FS_info
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
void SetG4LensPhoton(FDsimG4StoreOpticalHit *G4_photon)
struct TelescopeSimulatorLX::FDsimG4Write2ROOT::G4_info fG4Mercedes_info
void SetG4FSPhoton(FDsimG4StoreOpticalHit *G4_photon)
void SetG4FilterPhoton(FDsimG4StoreOpticalHit *G4_photon)
struct TelescopeSimulatorLX::FDsimG4Write2ROOT::G4_info2 fG4_info
struct TelescopeSimulatorLX::FDsimG4Write2ROOT::G4_info fG4Lens_info
struct TelescopeSimulatorLX::FDsimG4Write2ROOT::G4_info fG4Filter_info
struct TelescopeSimulatorLX::FDsimG4Write2ROOT::IN_info fIN_info
struct TelescopeSimulatorLX::FDsimG4Write2ROOT::G4_info fG4Mirror_info
void SetEyeCS(utl::CoordinateSystemPtr eyeCS)
void SetG4MercedesPhoton(FDsimG4StoreOpticalHit *G4_photon)
void Open(const std::string &RootFilename)

, generated on Tue Sep 26 2023.