8 #ifndef GW_GAMMATRACKER_H
18 #define MAXCHARACTER 500
80 Double_t fRecoilSigma;
84 Double_t fRecoilAngle;
90 std::vector<Int_t> fType;
91 std::vector<Int_t> fNdet;
92 std::vector<Int_t> fEvNum;
93 std::vector<Int_t> fNInt;
94 std::vector<Int_t> fPrimary;
95 std::vector<Double_t> fEnergy;
96 std::vector<Double_t> fDx;
97 std::vector<Double_t> fDy;
98 std::vector<Double_t> fDz;
99 std::vector<Double_t> fEdep;
100 std::vector<Double_t> fPx;
101 std::vector<Double_t> fPy;
102 std::vector<Double_t> fPz;
103 std::vector<Double_t> fNseg;
105 Double_t fDistFactor;
106 Double_t fEnerFactor;
109 std::ifstream fInfile;
111 Int_t fCurrent, fMaxFiles, fStatus;
113 std::vector<Double_t> fEventsRead;
114 std::vector<std::string> fFileName;
132 static TGeoVolume *
ImportAgataG4(
const char *asolid =
"asolid",
const char *aclust =
"aclust",
const char *aeuler =
"aeuler",
const char *top =
"World");
135 void SetRecoil(Float_t
b=0.0, Float_t dx = 0.0, Float_t dy = 0.0, Float_t dz = 1.0, Float_t angle = 0.0) {fRecoilBeta=
b; fRecoilDx=dx; fRecoilDy=dy; fRecoilDz=dz; fRecoilAngle=angle;}
141 void GetRecoil(Double_t &
b, Double_t &dx, Double_t &dy, Double_t &dz)
const { b = fRecoilBeta; dx = fRecoilDx; dy = fRecoilDy; dz = fRecoilDz;}
146 const std::vector<Double_t> &
GetEnergy() {
return fEnergy;}
147 const std::vector<Double_t> &
GetDx() {
return fDx;}
148 const std::vector<Double_t> &
GetDy() {
return fDy;}
149 const std::vector<Double_t> &
GetDz() {
return fDz;}
151 const std::vector<Double_t> &
GetEdep() {
return fEdep;}
152 const std::vector<Double_t> &
GetPx() {
return fPx;}
153 const std::vector<Double_t> &
GetPy() {
return fPy;}
154 const std::vector<Double_t> &
GetPz() {
return fPz;}
155 const std::vector<Double_t> &
GetNseg() {
return fNseg;}
157 const std::vector<Int_t> &
GetType() {
return fType;}
158 const std::vector<Int_t> &
GetNdet() {
return fNdet;}
159 const std::vector<Int_t> &
GetEvNum() {
return fEvNum;}
160 const std::vector<Int_t> &
GetNInt() {
return fNInt;}
178 void AddFile(
const char *fname) { std::string s = fname; fFileName.push_back(s); Double_t zero = 0.0; fEventsRead.push_back(zero); fMaxFiles++; }
179 void SetPath(
const char *path =
"./") { fPath = path; }
197 Bool_t
NextEvent(UInt_t mult = kMaxUInt);
const std::vector< Int_t > & GetEvNum()
Base class to build tracker families.
void AddFile(const char *fname)
to add an input file
void NextFile()
switch to next file.
GeantLMOF & fastout(GeantLMOF &reader)
const std::vector< Double_t > & GetDy()
Double_t GetfRecoilBeta() const
const std::vector< Int_t > & GetNdet()
Bool_t NextEvent(UInt_t mult=kMaxUInt)
To load the next event.
void GetRecoil(Double_t &b, Double_t &dx, Double_t &dy, Double_t &dz) const
friend GeantLMOF & fastout(GeantLMOF &reader)
Double_t GetEnerFactor() const
friend GeantLMOF & checkout(GeantLMOF &reader)
void ShowCurrentConditions()
The current status is shown on the standard ouptut.
const std::vector< Int_t > & GetNInt()
GeantLMOF & checkout(GeantLMOF &reader)
static TGeoVolume * ImportAgataG4(const char *asolid="asolid", const char *aclust="aclust", const char *aeuler="aeuler", const char *top="World")
to import the agata geometry from the Agata-Geant4 world
Double_t GetDistFactor() const
const std::vector< Double_t > & GetPz()
const std::vector< Double_t > & GetPx()
const std::vector< Double_t > & GetEnergy()
const std::vector< Int_t > & GetPrimary()
Class to read/decode Geant List Mode Output Files.
const std::vector< Double_t > & GetEdep()
const std::vector< Double_t > & GetNseg()
void SetPath(const char *path="./")
const std::vector< Double_t > & GetPy()
const std::vector< Double_t > & GetDx()
void SetRecoil(Float_t b=0.0, Float_t dx=0.0, Float_t dy=0.0, Float_t dz=1.0, Float_t angle=0.0)
const std::vector< Double_t > & GetDz()
void operator>>(GammaTracker *)
fill the tracker with the current event
const std::vector< Double_t > & GetEventsRead()
GeantLMOF & operator<<(GeantLMOF &(*pf)(GeantLMOF &))
UInt_t OnlyType(const GeantLMOF &input, Int_t fTypemin=1, Int_t fTypemax=1)
Fill this using another GeantLMOF by keeping only emmitted particles with fType between fTypemin & fT...
const std::vector< Int_t > & GetType()