Public Member Functions | Private Member Functions | Private Attributes | List of all members
genie::flux::GCylindTH1Flux Class Reference

A generic GENIE flux driver. Generates a 'cylindrical' neutrino beam along the input direction, with the input transverse radius and centered at the input position. The energies are generated from the input energy spectrum (TH1D). Multiple neutrino species can be generated (you will need to supply an energy spectrum for each). More...

#include "/cvmfs/nova.opensciencegrid.org/externals/genie/v3_00_06_p01/Linux64bit+2.6-2.12-e17-debug/GENIE-Generator/src/Tools/Flux/GCylindTH1Flux.h"

Inheritance diagram for genie::flux::GCylindTH1Flux:
genie::GFluxI

Public Member Functions

 GCylindTH1Flux ()
 
 ~GCylindTH1Flux ()
 
void SetNuDirection (const TVector3 &direction)
 
void SetBeamSpot (const TVector3 &spot)
 
void SetTransverseRadius (double Rt)
 
void AddEnergySpectrum (int nu_pdgc, TH1D *spectrum)
 
void SetRtDependence (string rdep)
 
const PDGCodeListFluxParticles (void)
 declare list of flux neutrinos that can be generated (for init. purposes) More...
 
double MaxEnergy (void)
 declare the max flux neutrino energy that can be generated (for init. purposes) More...
 
bool GenerateNext (void)
 generate the next flux neutrino (return false in err) More...
 
int PdgCode (void)
 returns the flux neutrino pdg code More...
 
double Weight (void)
 returns the flux neutrino weight (if any) More...
 
const TLorentzVector & Momentum (void)
 returns the flux neutrino 4-momentum More...
 
const TLorentzVector & Position (void)
 returns the flux neutrino 4-position (note: expect SI rather than physical units) More...
 
bool End (void)
 true if no more flux nu's can be thrown (eg reaching end of beam sim ntuples) More...
 
long int Index (void)
 returns corresponding index for current flux neutrino (e.g. for a flux ntuple returns the current entry number) More...
 
void Clear (Option_t *opt)
 reset state variables based on opt More...
 
void GenerateWeighted (bool gen_weighted)
 set whether to generate weighted or unweighted neutrinos More...
 

Private Member Functions

void Initialize (void)
 
void CleanUp (void)
 
void ResetSelection (void)
 
void AddAllFluxes (void)
 
int SelectNeutrino (double Ev)
 
double GeneratePhi (void) const
 
double GenerateRt (void) const
 

Private Attributes

double fMaxEv
 maximum energy More...
 
PDGCodeListfPdgCList
 list of neutrino pdg-codes More...
 
int fgPdgC
 running generated nu pdg-code More...
 
TLorentzVector fgP4
 running generated nu 4-momentum More...
 
TLorentzVector fgX4
 running generated nu 4-position More...
 
vector< TH1D * > fSpectrum
 flux = f(Ev), 1/neutrino species More...
 
TH1D * fTotSpectrum
 combined flux = f(Ev) More...
 
TVector3 * fDirVec
 neutrino direction More...
 
TVector3 * fBeamSpot
 beam spot position More...
 
double fRt
 transverse size of neutrino beam More...
 
TF1 * fRtDep
 transverse radius dependence More...
 

Detailed Description

A generic GENIE flux driver. Generates a 'cylindrical' neutrino beam along the input direction, with the input transverse radius and centered at the input position. The energies are generated from the input energy spectrum (TH1D). Multiple neutrino species can be generated (you will need to supply an energy spectrum for each).

Author
Costas Andreopoulos <costas.andreopoulos stfc.ac.uk> University of Liverpool & STFC Rutherford Appleton Lab

July 4, 2005

Copyright (c) 2003-2019, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org or see $GENIE/LICENSE

Definition at line 44 of file GCylindTH1Flux.h.

Constructor & Destructor Documentation

GCylindTH1Flux::GCylindTH1Flux ( )

Definition at line 44 of file GCylindTH1Flux.cxx.

References TMVAGlob::Initialize().

45 {
46  this->Initialize();
47 }
GCylindTH1Flux::~GCylindTH1Flux ( )

Definition at line 49 of file GCylindTH1Flux.cxx.

References CleanUp().

50 {
51  this->CleanUp();
52 }

Member Function Documentation

void GCylindTH1Flux::AddAllFluxes ( void  )
private

Definition at line 222 of file GCylindTH1Flux.cxx.

References fSpectrum, fTotSpectrum, LOG, and pNOTICE.

Referenced by AddEnergySpectrum(), and Index().

223 {
224  LOG("Flux", pNOTICE) << "Computing combined flux";
225 
226  if(fTotSpectrum) delete fTotSpectrum;
227 
228  vector<TH1D *>::const_iterator spectrum_iter;
229 
230  unsigned int inu=0;
231  for(spectrum_iter = fSpectrum.begin();
232  spectrum_iter != fSpectrum.end(); ++spectrum_iter) {
233  TH1D * spectrum = *spectrum_iter;
234 
235  if(inu==0) { fTotSpectrum = new TH1D(*spectrum); }
236  else { fTotSpectrum->Add(spectrum); }
237  inu++;
238  }
239 }
vector< TH1D * > fSpectrum
flux = f(Ev), 1/neutrino species
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
TH1D * fTotSpectrum
combined flux = f(Ev)
#define pNOTICE
Definition: Messenger.h:62
void GCylindTH1Flux::AddEnergySpectrum ( int  nu_pdgc,
TH1D *  spectrum 
)

Definition at line 187 of file GCylindTH1Flux.cxx.

References AddAllFluxes(), confusionMatrixTree::count, fMaxEv, fPdgCList, fSpectrum, LOG, cet::sqlite::max(), genie::units::nb, pNOTICE, genie::PDGCodeList::push_back(), and pWARN.

Referenced by GenerateEventsAtFixedInitState(), and main().

188 {
189  LOG("Flux", pNOTICE) << "Adding flux spectrum for pdg = " << nu_pdgc;
190 
191  fPdgCList->push_back(nu_pdgc);
192 
193  bool accepted = (count(fPdgCList->begin(),fPdgCList->end(),nu_pdgc) == 1);
194  if(!accepted) {
195  LOG ("Flux", pWARN)
196  << "The pdg-code isn't recognized and the spectrum was ignored";
197  } else {
198  fSpectrum.push_back(spectrum);
199 
200  int nb = spectrum->GetNbinsX();
201  Axis_t max = spectrum->GetBinLowEdge(nb)+spectrum->GetBinWidth(nb);
202  fMaxEv = TMath::Max(fMaxEv, (double)max);
203 
204  LOG("Flux", pNOTICE)
205  << "Updating maximum energy of flux particles to: " << fMaxEv;
206 
207  this->AddAllFluxes(); // update combined flux
208  }
209 }
PDGCodeList * fPdgCList
list of neutrino pdg-codes
vector< TH1D * > fSpectrum
flux = f(Ev), 1/neutrino species
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
#define pWARN
Definition: Messenger.h:61
#define pNOTICE
Definition: Messenger.h:62
static const double nb
Definition: Units.h:89
T max(sqlite3 *const db, std::string const &table_name, std::string const &column_name)
Definition: statistics.h:68
void push_back(int pdg_code)
Definition: PDGCodeList.cxx:67
double fMaxEv
maximum energy
void GCylindTH1Flux::CleanUp ( void  )
private

Definition at line 149 of file GCylindTH1Flux.cxx.

References fBeamSpot, fDirVec, fPdgCList, fRtDep, fSpectrum, fTotSpectrum, MECModelEnuComparisons::i, LOG, and pNOTICE.

Referenced by Index(), and ~GCylindTH1Flux().

150 {
151  LOG("Flux", pNOTICE) << "Cleaning up...";
152 
153  if (fDirVec ) delete fDirVec;
154  if (fBeamSpot ) delete fBeamSpot;
155  if (fPdgCList ) delete fPdgCList;
156  if (fTotSpectrum) delete fTotSpectrum;
157  if (fRtDep ) delete fRtDep;
158 
159  unsigned int nspectra = fSpectrum.size();
160  for(unsigned int i = 0; i < nspectra; i++) {
161  TH1D * spectrum = fSpectrum[i];
162  delete spectrum;
163  spectrum = 0;
164  }
165 }
PDGCodeList * fPdgCList
list of neutrino pdg-codes
TVector3 * fBeamSpot
beam spot position
vector< TH1D * > fSpectrum
flux = f(Ev), 1/neutrino species
TF1 * fRtDep
transverse radius dependence
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
TVector3 * fDirVec
neutrino direction
TH1D * fTotSpectrum
combined flux = f(Ev)
#define pNOTICE
Definition: Messenger.h:62
void GCylindTH1Flux::Clear ( Option_t *  opt)
virtual

reset state variables based on opt

Implements genie::GFluxI.

Definition at line 107 of file GCylindTH1Flux.cxx.

References LOG, MECModelEnuComparisons::opt, and pERROR.

Referenced by Index().

108 {
109 // Dummy clear method needed to conform to GFluxI interface
110 //
111  LOG("Flux", pERROR) <<
112  "No Clear(Option_t * opt) method implemented for opt: "<< opt;
113 }
#define pERROR
Definition: Messenger.h:60
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
bool genie::flux::GCylindTH1Flux::End ( void  )
inlinevirtual

true if no more flux nu's can be thrown (eg reaching end of beam sim ntuples)

Implements genie::GFluxI.

Definition at line 65 of file GCylindTH1Flux.h.

65 { return false; }
const PDGCodeList& genie::flux::GCylindTH1Flux::FluxParticles ( void  )
inlinevirtual

declare list of flux neutrinos that can be generated (for init. purposes)

Implements genie::GFluxI.

Definition at line 58 of file GCylindTH1Flux.h.

References fPdgCList.

58 { return *fPdgCList; }
PDGCodeList * fPdgCList
list of neutrino pdg-codes
bool GCylindTH1Flux::GenerateNext ( void  )
virtual

generate the next flux neutrino (return false in err)

Implements genie::GFluxI.

Definition at line 54 of file GCylindTH1Flux.cxx.

References fBeamSpot, fDirVec, fgP4, fgPdgC, fgX4, fRt, fTotSpectrum, GeneratePhi(), GenerateRt(), LOG, make_associated_cosmic_defs::p3, genie::utils::print::P4AsShortString(), pINFO, ResetSelection(), SelectNeutrino(), submit_syst::x, genie::utils::print::X4AsString(), submit_syst::y, and test::z.

Referenced by MaxEnergy().

55 {
56  //-- Reset previously generated neutrino code / 4-p / 4-x
57  this->ResetSelection();
58 
59  //-- Generate an energy from the 'combined' spectrum histogram
60  // and compute the momentum vector
61  double Ev = (double) fTotSpectrum->GetRandom();
62 
63  TVector3 p3(*fDirVec); // momentum along the neutrino direction
64  p3.SetMag(Ev); // with |p|=Ev
65 
66  fgP4.SetPxPyPzE(p3.Px(), p3.Py(), p3.Pz(), Ev);
67 
68  //-- Select a neutrino species from the flux fractions at the
69  // selected energy
70  fgPdgC = (*fPdgCList)[this->SelectNeutrino(Ev)];
71 
72  //-- Compute neutrino 4-x
73 
74  if(fRt <= 0) {
75  fgX4.SetXYZT(0.,0.,0.,0.);
76  }
77  else {
78  // Create a vector (vec) that points to a random position at a disk
79  // of radius Rt passing through the origin, perpendicular to the
80  // input direction.
81  TVector3 vec0(*fDirVec); // vector along the input direction
82  TVector3 vec = vec0.Orthogonal(); // orthogonal vector
83 
84  double psi = this->GeneratePhi(); // rndm angle [0,2pi]
85  double Rt = this->GenerateRt(); // rndm R [0,Rtransverse]
86 
87  vec.Rotate(psi,vec0); // rotate around original vector
88  vec.SetMag(Rt); // set new norm
89 
90  // Set the neutrino position as beam_spot + vec
91  double x = fBeamSpot->X() + vec.X();
92  double y = fBeamSpot->Y() + vec.Y();
93  double z = fBeamSpot->Z() + vec.Z();
94 
95  fgX4.SetXYZT(x,y,z,0.);
96  }
97 
98  LOG("Flux", pINFO) << "Generated neutrino pdg-code: " << fgPdgC;
99  LOG("Flux", pINFO)
100  << "Generated neutrino p4: " << utils::print::P4AsShortString(&fgP4);
101  LOG("Flux", pINFO)
102  << "Generated neutrino x4: " << utils::print::X4AsString(&fgX4);
103 
104  return true;
105 }
string P4AsShortString(const TLorentzVector *p)
Definition: PrintUtils.cxx:52
TLorentzVector fgP4
running generated nu 4-momentum
TVector3 * fBeamSpot
beam spot position
TLorentzVector fgX4
running generated nu 4-position
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
double GenerateRt(void) const
TVector3 * fDirVec
neutrino direction
int fgPdgC
running generated nu pdg-code
double fRt
transverse size of neutrino beam
#define pINFO
Definition: Messenger.h:63
Eigen::VectorXd vec
z
Definition: test.py:28
double GeneratePhi(void) const
TH1D * fTotSpectrum
combined flux = f(Ev)
string X4AsString(const TLorentzVector *x)
Definition: PrintUtils.cxx:64
double GCylindTH1Flux::GeneratePhi ( void  ) const
private

Definition at line 275 of file GCylindTH1Flux.cxx.

References genie::RandomGen::Instance(), kPi, generate_hists::rnd, and genie::RandomGen::RndFlux().

Referenced by GenerateNext(), and Index().

276 {
278  double phi = 2.*kPi * rnd->RndFlux().Rndm(); // [0,2pi]
279  return phi;
280 }
const double kPi
static RandomGen * Instance()
Access instance.
Definition: RandomGen.cxx:79
A singleton holding random number generator classes. All random number generation in GENIE should tak...
Definition: RandomGen.h:30
TRandom3 & RndFlux(void) const
rnd number generator used by flux drivers
Definition: RandomGen.h:72
double GCylindTH1Flux::GenerateRt ( void  ) const
private

Definition at line 282 of file GCylindTH1Flux.cxx.

References fRtDep.

Referenced by GenerateNext(), and Index().

283 {
284  double Rt = fRtDep->GetRandom(); // rndm R [0,Rtransverse]
285  return Rt;
286 }
TF1 * fRtDep
transverse radius dependence
void GCylindTH1Flux::GenerateWeighted ( bool  gen_weighted)
virtual

set whether to generate weighted or unweighted neutrinos

Implements genie::GFluxI.

Definition at line 115 of file GCylindTH1Flux.cxx.

References LOG, and pERROR.

Referenced by Index().

116 {
117 // Dummy implementation needed to conform to GFluxI interface
118 //
119  LOG("Flux", pERROR) <<
120  "No GenerateWeighted(bool gen_weighted) method implemented for " <<
121  "gen_weighted: " << gen_weighted;
122 }
#define pERROR
Definition: Messenger.h:60
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
long int genie::flux::GCylindTH1Flux::Index ( void  )
inlinevirtual

returns corresponding index for current flux neutrino (e.g. for a flux ntuple returns the current entry number)

Implements genie::GFluxI.

Definition at line 66 of file GCylindTH1Flux.h.

References AddAllFluxes(), CleanUp(), Clear(), GeneratePhi(), GenerateRt(), GenerateWeighted(), Initialize(), MECModelEnuComparisons::opt, ResetSelection(), and SelectNeutrino().

66 { return -1; }
void GCylindTH1Flux::Initialize ( void  )
private

Definition at line 124 of file GCylindTH1Flux.cxx.

References fBeamSpot, fDirVec, fMaxEv, fPdgCList, fRt, fRtDep, fTotSpectrum, LOG, pNOTICE, ResetSelection(), and SetRtDependence().

Referenced by Index().

125 {
126  LOG("Flux", pNOTICE) << "Initializing GCylindTH1Flux driver";
127 
128  fMaxEv = 0;
129  fPdgCList = new PDGCodeList;
130  fTotSpectrum = 0;
131  fDirVec = 0;
132  fBeamSpot = 0;
133  fRt =-1;
134  fRtDep = 0;
135 
136  this->ResetSelection();
137  this->SetRtDependence("x");
138  //eg, other example: this->SetRtDependence("pow(x,2)");
139 }
PDGCodeList * fPdgCList
list of neutrino pdg-codes
void SetRtDependence(string rdep)
TVector3 * fBeamSpot
beam spot position
A list of PDG codes.
Definition: PDGCodeList.h:33
TF1 * fRtDep
transverse radius dependence
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
TVector3 * fDirVec
neutrino direction
double fRt
transverse size of neutrino beam
TH1D * fTotSpectrum
combined flux = f(Ev)
#define pNOTICE
Definition: Messenger.h:62
double fMaxEv
maximum energy
double genie::flux::GCylindTH1Flux::MaxEnergy ( void  )
inlinevirtual

declare the max flux neutrino energy that can be generated (for init. purposes)

Implements genie::GFluxI.

Definition at line 59 of file GCylindTH1Flux.h.

References fMaxEv, and GenerateNext().

59 { return fMaxEv; }
double fMaxEv
maximum energy
const TLorentzVector& genie::flux::GCylindTH1Flux::Momentum ( void  )
inlinevirtual

returns the flux neutrino 4-momentum

Implements genie::GFluxI.

Definition at line 63 of file GCylindTH1Flux.h.

References fgP4.

63 { return fgP4; }
TLorentzVector fgP4
running generated nu 4-momentum
int genie::flux::GCylindTH1Flux::PdgCode ( void  )
inlinevirtual

returns the flux neutrino pdg code

Implements genie::GFluxI.

Definition at line 61 of file GCylindTH1Flux.h.

References fgPdgC.

61 { return fgPdgC; }
int fgPdgC
running generated nu pdg-code
const TLorentzVector& genie::flux::GCylindTH1Flux::Position ( void  )
inlinevirtual

returns the flux neutrino 4-position (note: expect SI rather than physical units)

Implements genie::GFluxI.

Definition at line 64 of file GCylindTH1Flux.h.

References fgX4.

64 { return fgX4; }
TLorentzVector fgX4
running generated nu 4-position
void GCylindTH1Flux::ResetSelection ( void  )
private

Definition at line 141 of file GCylindTH1Flux.cxx.

References fgP4, fgPdgC, and fgX4.

Referenced by GenerateNext(), Index(), and Initialize().

142 {
143 // initializing running neutrino pdg-code, 4-position, 4-momentum
144  fgPdgC = 0;
145  fgP4.SetPxPyPzE (0.,0.,0.,0.);
146  fgX4.SetXYZT (0.,0.,0.,0.);
147 }
TLorentzVector fgP4
running generated nu 4-momentum
TLorentzVector fgX4
running generated nu 4-position
int fgPdgC
running generated nu pdg-code
int GCylindTH1Flux::SelectNeutrino ( double  Ev)
private

Definition at line 241 of file GCylindTH1Flux.cxx.

References ana::assert(), fPdgCList, fSpectrum, genie::RandomGen::Instance(), LOG, getGoodRuns4SAM::n, pDEBUG, pERROR, R, generate_hists::rnd, genie::RandomGen::RndFlux(), and sum.

Referenced by GenerateNext(), and Index().

242 {
243  const unsigned int n = fPdgCList->size();
244  double fraction[n];
245 
246  vector<TH1D *>::const_iterator spectrum_iter;
247 
248  unsigned int inu=0;
249  for(spectrum_iter = fSpectrum.begin();
250  spectrum_iter != fSpectrum.end(); ++spectrum_iter) {
251  TH1D * spectrum = *spectrum_iter;
252  fraction[inu++] = spectrum->GetBinContent(spectrum->FindBin(Ev));
253  }
254 
255  double sum = 0;
256  for(inu = 0; inu < n; inu++) {
257  sum += fraction[inu];
258  fraction[inu] = sum;
259  LOG("Flux", pDEBUG) << "SUM-FRACTION(0->" << inu <<") = " << sum;
260  }
261 
263  double R = sum * rnd->RndFlux().Rndm();
264 
265  LOG("Flux", pDEBUG) << "R e [0,SUM] = " << R;
266 
267  for(inu = 0; inu < n; inu++) {if ( R < fraction[inu] ) return inu;}
268 
269  LOG("Flux", pERROR) << "Could not select a neutrino species";
270  assert(false);
271 
272  return -1;
273 }
#define pERROR
Definition: Messenger.h:60
static RandomGen * Instance()
Access instance.
Definition: RandomGen.cxx:79
PDGCodeList * fPdgCList
list of neutrino pdg-codes
A singleton holding random number generator classes. All random number generation in GENIE should tak...
Definition: RandomGen.h:30
vector< TH1D * > fSpectrum
flux = f(Ev), 1/neutrino species
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
#define R(x)
assert(nhit_max >=nhit_nbins)
TRandom3 & RndFlux(void) const
rnd number generator used by flux drivers
Definition: RandomGen.h:72
Double_t sum
Definition: plot.C:31
#define pDEBUG
Definition: Messenger.h:64
void GCylindTH1Flux::SetBeamSpot ( const TVector3 &  spot)

Definition at line 173 of file GCylindTH1Flux.cxx.

References fBeamSpot.

Referenced by GenerateEventsAtFixedInitState(), and main().

174 {
175  if(fBeamSpot) delete fBeamSpot;
176  fBeamSpot = new TVector3(spot);
177 }
TVector3 * fBeamSpot
beam spot position
void GCylindTH1Flux::SetNuDirection ( const TVector3 &  direction)

Definition at line 167 of file GCylindTH1Flux.cxx.

References fDirVec.

Referenced by GenerateEventsAtFixedInitState(), and main().

168 {
169  if(fDirVec) delete fDirVec;
170  fDirVec = new TVector3(direction);
171 }
TVector3 * fDirVec
neutrino direction
void GCylindTH1Flux::SetRtDependence ( string  rdep)

Definition at line 211 of file GCylindTH1Flux.cxx.

References fRt, and fRtDep.

Referenced by Initialize().

212 {
213 // Set the (functional form of) Rt dependence as string, eg "x*x+sin(x)"
214 // You do not need to set this method. The default behaviour is to generate
215 // flux neutrinos uniformly over the area of the cylinder's cross section.
216 
217  if(fRtDep) delete fRtDep;
218 
219  fRtDep = new TF1("rdep", rdep.c_str(), 0,fRt);
220 }
TF1 * fRtDep
transverse radius dependence
double fRt
transverse size of neutrino beam
void GCylindTH1Flux::SetTransverseRadius ( double  Rt)

Definition at line 179 of file GCylindTH1Flux.cxx.

References fRt, fRtDep, LOG, and pNOTICE.

Referenced by GenerateEventsAtFixedInitState(), and main().

180 {
181  LOG ("Flux", pNOTICE) << "Setting R[transverse] = " << Rt;
182  fRt = Rt;
183 
184  if(fRtDep) fRtDep->SetRange(0,Rt);
185 }
TF1 * fRtDep
transverse radius dependence
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
double fRt
transverse size of neutrino beam
#define pNOTICE
Definition: Messenger.h:62
double genie::flux::GCylindTH1Flux::Weight ( void  )
inlinevirtual

returns the flux neutrino weight (if any)

Implements genie::GFluxI.

Definition at line 62 of file GCylindTH1Flux.h.

62 { return 1.0; }

Member Data Documentation

TVector3* genie::flux::GCylindTH1Flux::fBeamSpot
private

beam spot position

Definition at line 90 of file GCylindTH1Flux.h.

Referenced by CleanUp(), GenerateNext(), Initialize(), and SetBeamSpot().

TVector3* genie::flux::GCylindTH1Flux::fDirVec
private

neutrino direction

Definition at line 89 of file GCylindTH1Flux.h.

Referenced by CleanUp(), GenerateNext(), Initialize(), and SetNuDirection().

TLorentzVector genie::flux::GCylindTH1Flux::fgP4
private

running generated nu 4-momentum

Definition at line 85 of file GCylindTH1Flux.h.

Referenced by GenerateNext(), Momentum(), and ResetSelection().

int genie::flux::GCylindTH1Flux::fgPdgC
private

running generated nu pdg-code

Definition at line 84 of file GCylindTH1Flux.h.

Referenced by GenerateNext(), PdgCode(), and ResetSelection().

TLorentzVector genie::flux::GCylindTH1Flux::fgX4
private

running generated nu 4-position

Definition at line 86 of file GCylindTH1Flux.h.

Referenced by GenerateNext(), Position(), and ResetSelection().

double genie::flux::GCylindTH1Flux::fMaxEv
private

maximum energy

Definition at line 82 of file GCylindTH1Flux.h.

Referenced by AddEnergySpectrum(), Initialize(), and MaxEnergy().

PDGCodeList* genie::flux::GCylindTH1Flux::fPdgCList
private

list of neutrino pdg-codes

Definition at line 83 of file GCylindTH1Flux.h.

Referenced by AddEnergySpectrum(), CleanUp(), FluxParticles(), Initialize(), and SelectNeutrino().

double genie::flux::GCylindTH1Flux::fRt
private

transverse size of neutrino beam

Definition at line 91 of file GCylindTH1Flux.h.

Referenced by GenerateNext(), Initialize(), SetRtDependence(), and SetTransverseRadius().

TF1* genie::flux::GCylindTH1Flux::fRtDep
private

transverse radius dependence

Definition at line 92 of file GCylindTH1Flux.h.

Referenced by CleanUp(), GenerateRt(), Initialize(), SetRtDependence(), and SetTransverseRadius().

vector<TH1D *> genie::flux::GCylindTH1Flux::fSpectrum
private

flux = f(Ev), 1/neutrino species

Definition at line 87 of file GCylindTH1Flux.h.

Referenced by AddAllFluxes(), AddEnergySpectrum(), CleanUp(), and SelectNeutrino().

TH1D* genie::flux::GCylindTH1Flux::fTotSpectrum
private

combined flux = f(Ev)

Definition at line 88 of file GCylindTH1Flux.h.

Referenced by AddAllFluxes(), CleanUp(), GenerateNext(), and Initialize().


The documentation for this class was generated from the following files: