GENIEGenerator
Loading...
Searching...
No Matches
PointGeomAnalyzer.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::geometry::PointGeomAnalyzer
5
6\brief The PointGeomAnalyzer class is the simplest implementation of the
7 GeomAnalyserI interface and defines a simple 'point-like' geometry.
8
9 Use this geometry analyzer to generate events when you do not want
10 to use a detailed GEANT/ROOT geometry description but you only need
11 to generate events for a 'single' nuclear target while you still want
12 to use the GENIE MC job driver 'loaded' with a GENIE flux driver.
13 The geometry can also support a mix of targets, each with its
14 corresponding weight.
15
16\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
17 University of Liverpool
18
19\created July 14, 2005
20
21\cpright Copyright (c) 2003-2025, The GENIE Collaboration
22 For the full text of the license visit http://copyright.genie-mc.org
23*/
24//____________________________________________________________________________
25
26#ifndef _POINT_GEOMETRY_ANALYZER_H_
27#define _POINT_GEOMETRY_ANALYZER_H_
28
29#include <map>
30
32
33using std::map;
34
35namespace genie {
36namespace geometry {
37
39
40public :
41 PointGeomAnalyzer(int tgtpdgc);
42 PointGeomAnalyzer(unsigned int n, const int tgt_pdg[], const double weight[]);
43 PointGeomAnalyzer(const map<int,double> & tgtmap /* pdg -> weight*/);
45
46 // implement the GeomAnalyzerI interface
47
48 const PDGCodeList & ListOfTargetNuclei (void);
50
51 const PathLengthList &
53 (const TLorentzVector & x, const TLorentzVector & p);
54 const TVector3 &
56 (const TLorentzVector & x, const TLorentzVector & p, int tgtpdg);
57private:
58
59 void Initialize (const map<int,double> & tgtmap);
60 void CleanUp (void);
61
62 TVector3 * fCurrVertex; ///< current generated vertex
63 PathLengthList * fCurrPathLengthList; ///< current list of path-lengths
64 PDGCodeList * fCurrPDGCodeList; ///< current list of target nuclei
65};
66
67} // geometry namespace
68} // genie namespace
69
70#endif // _POINT_GEOMETRY_ANALYZER_H_
A list of PDG codes.
Definition PDGCodeList.h:32
Object to be filled with the neutrino path-length, for all detector geometry materials,...
const PathLengthList & ComputePathLengths(const TLorentzVector &x, const TLorentzVector &p)
const PathLengthList & ComputeMaxPathLengths(void)
PDGCodeList * fCurrPDGCodeList
current list of target nuclei
TVector3 * fCurrVertex
current generated vertex
const TVector3 & GenerateVertex(const TLorentzVector &x, const TLorentzVector &p, int tgtpdg)
const PDGCodeList & ListOfTargetNuclei(void)
PathLengthList * fCurrPathLengthList
current list of path-lengths
void Initialize(void)
GENIE geometry drivers.
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25