FairRoot/PandaRoot
PndPhoGunShort.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndPhoGunShort header file -----
3 // ----- Created 12/10/10 by Maria Patsyuk -----
4 // ----- -----
5 // ----- -----
6 // -------------------------------------------------------------------------
7 
16 #ifndef PNDPHOGUNSHORT_H
17 #define PNDPHOGUNSHORT_H
18 
19 #include "FairTask.h"
20 #include "TClonesArray.h"
21 #include "PndMCTrack.h"
22 #include "PndDrcHit.h"
23 #include "PndDrcPDHit.h"
24 #include "PndStack.h"
25 #include "FairBaseParSet.h"
26 #include "PndGeoDrcPar.h"
27 #include "TString.h"
28 #include <string>
29 
30 #include "PndDrcBarPoint.h"
31 #include "PndDrcPDPoint.h"
32 #include "PndDrcEVPoint.h"
33 #include "PndDrcHit.h"
34 #include "PndDrcPDHit.h"
35 #include "PndDrcDigi.h"
36 #include "PndGeoHandling.h"
37 
38 #include "PndDrcLutNode.h"
39 
40 #ifndef ROOT_TParticlePDG
41 #include "TParticlePDG.h"
42 #endif
43 #ifndef ROOT_TDatabasePDG
44 #include "TDatabasePDG.h"
45 #endif
46 
47 class PndPhoGunShort : public FairTask {
48 
49 public:
50 
53 
55  PndPhoGunShort(Int_t verbose);
56 
58  virtual ~PndPhoGunShort();
59 
60  virtual InitStatus Init();
61 
63  virtual void Exec(Option_t* option);
64 
66  virtual void Finish();
67 
68  void SetOutputFile(TString outName = "lutnode.root"){fOutputName = outName;}
69 
70  void SetEVDepth(Float_t EVdepth = 30.){fEVdz = EVdepth;}
71  void SetNmcp(Float_t nmcp = 5.){fNmcp = nmcp;}
72  void SetShiftedPix(Bool_t spix = kFALSE){fShiftPix = spix;}
73 
74 private:
75 
76  void ProcessPhotonHit();
77  void InitLut();
78 
79 
80  Int_t fDetectorID;
81 
82  TClonesArray* fBarPointArray; // DRC MC points in the bars
83  TClonesArray* fPDPointArray; // DRC points in the photon detector
84  TClonesArray* fPDHitArray; // DRC Hits in the photon detector
85  TClonesArray* fMCArray; // DRC MCPoints in the photon detector
86  TClonesArray* fEVPointArray; // DRC MCPoints in the photon detector
87  TClonesArray *fDigiArray;
88 
89  //TClonesArray* fChPhoArray; // output array of PndChPho
90 
91  TList* fHistoList;
92  TFile* froot;
93 
97 
99  void SetDefaultParameters();
100 
101  Double_t InBarCoordSyst(TVector3, TVector3 *, TVector3 *, TVector3 *, TVector3 *);
103 
105  Int_t fVerbose;
106 
107  Int_t nevents;
108  Int_t ambiguity;
109 
113  Int_t fBarId;
114 
115  // parameters:
129  Float_t fNmcp;
131 
144 
149  TVector3 fPphoInit;
150  TVector3 fStartVertex;
151  TVector3 fPDSec,fEVSec,fEvSec;
156  TArrayD fmatrixdata;
159 
161  TVector3 fPphoB; // kBar
162 
163  // vertices of hit BarBox
164  TVector3 fBBver1;
165  TVector3 fBBver2;
166  TVector3 fBBver3;
167  TVector3 fBBver4;
168 
174 
175  TClonesArray *fLut[5];
176  TFile *fFile;
177  TTree *fTree;
178 
179  ClassDef(PndPhoGunShort,1)
180 
181 };
182 
183 #endif
PndMCTrack * tr
Double_t fPipehAngle
TClonesArray * fBarPointArray
virtual ~PndPhoGunShort()
Double_t PlanB[9]
void SetOutputFile(TString outName="lutnode.root")
TClonesArray * fMCArray
Double_t fBarBoxGap
virtual InitStatus Init()
Double_t fNweirdPhotons
void SetEVDepth(Float_t EVdepth=30.)
#define verbose
TVector3 fPphoInit
Double_t determint3
TClonesArray * fPDPointArray
TClonesArray * fLut[5]
PndGeoDrc * fGeo
Basic geometry data of barrel DRC.
Double_t determint2
TString ReflectionType
TList * fHistoList
TClonesArray * fPDHitArray
Double_t fPixIndex
Double_t determint1
PndGeoHandling * fGeoH
Class to access the naming information of the MVD.
PndDrcPDPoint * Ppt
Double_t InBarCoordSyst(TVector3, TVector3 *, TVector3 *, TVector3 *, TVector3 *)
Double_t
Double_t PlanR[6]
void SetDefaultParameters()
PndDrcEVPoint * EVt
TClonesArray * fDigiArray
Double_t PlanU[9]
PndDrcEVPoint * EVpt
TClonesArray * fEVPointArray
Double_t fPhiRotEV
virtual void Finish()
void SetShiftedPix(Bool_t spix=kFALSE)
PndDrcPDHit * pdhit
PndDrcDigi * fDigi
TVector3 fStartVertex
void SetNmcp(Float_t nmcp=5.)
Double_t determint4
Double_t FindReflectionType(Double_t, Double_t, Double_t, TString)
Double_t fPixelSize
virtual void Exec(Option_t *option)