Namespaces | Classes | Typedefs | Functions | Variables
gar Namespace Reference

General GArSoft Utilities. More...

Namespaces

 cheat
 
 debug
 
 details
 
 detinfo
 
 dump
 Namespace for GArSoft dumping utilities.
 
 evd
 
 evd3d
 
 evgen
 
 filt
 
 gar_pandora
 
 garg4
 
 geo
 
 raw
 
 rec
 
 rosim
 
 sdp
 
 sumdata
 
 util
 

Classes

class  anatest
 
class  anatree
 
class  CAFHelper
 
class  CAFMaker
 
class  HNLAnalysis
 
class  MatchingPerformance
 
class  MomentumPerformance
 
class  NestAlg
 
class  ParamSim
 
class  ProviderPack
 Container for a list of pointers to providers. More...
 
class  ServiceProviderImplementationWrapper
 Service implementation returning a provider. More...
 
class  ServiceProviderInterfaceWrapper
 Service returning a provider interface. More...
 
class  SimpleServiceProviderWrapper
 Service returning a provider. More...
 
class  StructuredTree
 
struct  UncopiableAndUnmovableClass
 An empty class that can't be copied nor moved. More...
 

Typedefs

typedef std::pair< float, std::stringP
 
template<typename... Services>
using ProviderPackFromServices = gar::ProviderPack< typename Services::provider_type... >
 Type of provider pack with providers from all specified Services. More...
 

Functions

garana::GTruth MakeAnaGTruth (const simb::GTruth &gt, const int &vtxregion)
 
garana::FSParticle MakeFSParticle (const simb::MCParticle &mcp)
 
garana::G4Particle MakeG4Particle (const simb::MCParticle &mcp, int parentPdg, int progenitorPdg, int progenitorTrackId, const vector< pair< TLorentzVector, TLorentzVector >> &positions, const vector< pair< TLorentzVector, TLorentzVector >> &momenta, const vector< int > &regions, const vector< size_t > &nptsPerRegion)
 
garana::CaloCluster MakeAnaCalCluster (const rec::Cluster &clust, const int &region, const std::vector< std::pair< int, float >> &edeps)
 
garana::Vee MakeAnaVee (const rec::Vee &vee)
 
garana::Vertex MakeAnaVtx (const rec::Vertex &vtx)
 
int ProcessNameToCode (std::string const &p)
 
void FillGTruth (const simb::GTruth &gt, garana::GTruth &outtruth)
 
const garana::Track MakeAnaTrack (const rec::Track &trk, const vector< pair< int, float >> &pidf, const vector< pair< int, float >> &pidb, float ionf, float ionb, const vector< pair< UInt_t, TLorentzVector >> &posBeg, const vector< pair< UInt_t, TLorentzVector >> &posEnd, const vector< pair< UInt_t, TLorentzVector >> &momBeg, const vector< pair< UInt_t, TLorentzVector >> &momEnd, const vector< pair< int, float >> &edeps)
 
garana::CaloCluster MakeAnaCalCluster (const rec::Cluster &clust, const int &region, const vector< pair< int, float >> &edeps)
 
template<typename... Providers>
ProviderPack< Providers... > makeProviderPack (Providers const *...providers)
 Function to create a ParameterPack from the function arguments. More...
 
std::set< std::string > const & IgnorableProviderConfigKeys ()
 Returns a list of configuration keys that providers should ignore. More...
 
template<class T >
T::provider_type const * providerFrom ()
 Returns a constant pointer to the provider of specified service. More...
 
template<typename... Services>
ProviderPackFromServices< Services... > extractProviders ()
 Returns a provider pack with providers from specified services. More...
 
G4double UnivScreenFunc (G4double E, G4double Z, G4double A)
 

Variables

std::unordered_map< std::string, int > processMap
 
G4bool diffusion = true
 
G4bool SinglePhase =false
 
G4bool ThomasImelTail =true
 
G4bool OutElectrons =true
 
G4double biExc = 0.77
 

Detailed Description

General GArSoft Utilities.

Monte Carlo sdpulation.

Raw data description and utilities.

PseudoLayerPlugin class.

Namespace collecting geometry-related classes utilities.

Geant4 interface.

Event Generation using GENIE, cosmics or single particles.

Event display classes.

GArSoft includes.

Version
Id
Style.cxx,v 1.1.1.1 2010/11/10 19:44:54 p-novaart Exp
Author
messi.nosp@m.er@i.nosp@m.ndian.nosp@m.a.ed.nosp@m.u
bjpjo.nosp@m.nes@.nosp@m.mit.e.nosp@m.du

File with various classes for a generic nearest neighbour type clustering.

Typedef Documentation

typedef pair< float, string > gar::P

Definition at line 75 of file anatree_module.cc.

template<typename... Services>
using gar::ProviderPackFromServices = typedef gar::ProviderPack<typename Services::provider_type...>

Type of provider pack with providers from all specified Services.

Definition at line 26 of file ServicePack.h.

Function Documentation

template<typename... Services>
ProviderPackFromServices<Services...> gar::extractProviders ( )

Returns a provider pack with providers from specified services.

Template Parameters
Servicesthe services to extract the providers from
Returns
a ProviderPack containing the current service providers

This convenience function automatically extracts all the service providers from a list of services. This is convenient if an algorithm or service accepts a provider pack for setup:

algo->Setup(extractProviders<
  detinfo::DetectorPropertiesService, detinfo::GArPropertiesService
  >());

Also note that the provider packs can rearrange their elements, so the call above should work just the same as:

algo->Setup(extractProviders<
  detinfo::GArPropertiesService, detinfo::DetectorPropertiesService
  >());

If a provider is needed in the setup argument that is not provided by any of the specified services, a compilation error will occur.

Definition at line 53 of file ServicePack.h.

54  { return { gar::providerFrom<Services>()... }; }
void gar::FillGTruth ( const simb::GTruth gt,
garana::GTruth outtruth 
)

Definition at line 151 of file AnaUtils.cxx.

151  {
152 
153  outtruth.fVertex = gt.fVertex;
154  outtruth.fVertex.SetVect(100.*gt.fVertex.Vect()); // GENIE uses meters - convert to cm (same as MCParticle)
155  outtruth.fVertex.SetT(1.e9*gt.fVertex.T()); // GENIE uses seconds - convert to ns (same as MCParticle)
156  outtruth.fweight = gt.fweight;
157  outtruth.fprobability = gt.fprobability;
158  outtruth.fXsec = gt.fXsec;
159  outtruth.fDiffXsec = gt.fDiffXsec;
160  outtruth.fGPhaseSpace = gt.fGPhaseSpace;
161 
162  outtruth.fProbePDG = gt.fProbePDG;
163  outtruth.fProbeP4 = gt.fProbeP4;
164  outtruth.fTgtP4 = gt.fTgtP4;
165 
166  outtruth.ftgtZ = gt.ftgtZ;
167  outtruth.ftgtA = gt.ftgtA;
168  outtruth.ftgtPDG = gt.ftgtPDG;
169  outtruth.fHitNucPDG = gt.fHitNucPDG;
170  outtruth.fHitQrkPDG = gt.fHitQrkPDG;
171  outtruth.fIsSeaQuark = gt.fIsSeaQuark;
172  outtruth.fHitNucP4 = gt.fHitNucP4;
173  outtruth.fHitNucPos = gt.fHitNucPos;
174 
175  outtruth.fGscatter = gt.fGscatter;
176  outtruth.fGint = gt.fGint;
177 
178  outtruth.fgQ2 = gt.fgQ2;
179  outtruth.fgq2 = gt.fgq2;
180  outtruth.fgW = gt.fgW ;
181  outtruth.fgT = gt.fgT;
182  outtruth.fgX = gt.fgX;
183  outtruth.fgY = gt.fgY;
184  outtruth.fFSleptonP4 = gt.fFSleptonP4;
185  outtruth.fFShadSystP4 = gt.fFShadSystP4;
186 
187  outtruth.fIsCharm = gt.fIsCharm;
188  outtruth.fCharmHadronPdg = gt.fCharmHadronPdg;
189  outtruth.fIsStrange = gt.fIsStrange;
190  outtruth.fStrangeHadronPdg = gt.fStrangeHadronPdg;
191  outtruth.fNumProton = gt.fNumProton;
192  outtruth.fNumNeutron = gt.fNumNeutron;
193  outtruth.fNumPi0 = gt.fNumPi0;
194  outtruth.fNumPiPlus = gt.fNumPiPlus;
195  outtruth.fNumPiMinus = gt.fNumPiMinus;
196  outtruth.fResNum = gt.fResNum;
197  outtruth.fDecayMode = gt.fDecayMode;
198  }
double fgW
Definition: GTruth.h:64
int fGint
interaction code
Definition: GTruth.h:56
bool fIsCharm
did the interaction produce a charmed hadron?
Definition: GTruth.h:69
double fgq2
Definition: GTruth.h:60
double fgq2
Definition: GTruth.h:63
double fgX
Definition: GTruth.h:66
int ftgtA
Definition: GTruth.h:46
TLorentzVector fTgtP4
Definition: GTruth.h:41
int fCharmHadronPdg
Definition: GTruth.h:70
int fStrangeHadronPdg
Definition: GTruth.h:72
int fNumPiMinus
number of pi minuses after reaction, before FSI
Definition: GTruth.h:77
int fGPhaseSpace
phase space system of DiffXSec
Definition: GTruth.h:32
double fweight
event interaction weight (genie internal)
Definition: GTruth.h:32
int fNumNeutron
number of neutrons after reaction, before FSI
Definition: GTruth.h:81
int fNumProton
number of protons after reaction, before FSI
Definition: GTruth.h:73
int ftgtZ
Definition: GTruth.h:45
double fXsec
cross section of interaction
Definition: GTruth.h:30
int fNumPiPlus
number of pi pluses after reaction, before FSI
Definition: GTruth.h:83
int fNumPiMinus
number of pi minuses after reaction, before FSI
Definition: GTruth.h:84
int fGscatter
neutrino scattering code
Definition: GTruth.h:54
double fgY
Definition: GTruth.h:64
TLorentzVector fFSleptonP4
generated final state primary lepton (LAB frame) // added version 13
Definition: GTruth.h:65
double fgT
Definition: GTruth.h:62
bool fIsStrange
strange production // added version 13
Definition: GTruth.h:78
int fNumNeutron
number of neutrons after reaction, before FSI
Definition: GTruth.h:74
TLorentzVector fProbeP4
Definition: GTruth.h:41
int fResNum
resonance number
Definition: GTruth.h:78
TLorentzVector fVertex
Definition: GTruth.h:31
int fResNum
resonance number
Definition: GTruth.h:89
int fNumProton
number of protons after reaction, before FSI
Definition: GTruth.h:80
int fDecayMode
Definition: GTruth.h:90
double fprobability
interaction probability
Definition: GTruth.h:29
double fprobability
interaction probability
Definition: GTruth.h:33
int fProbePDG
Definition: GTruth.h:39
double fgX
Definition: GTruth.h:63
TLorentzVector fFSleptonP4
generated final state primary lepton (LAB frame) // added version 13
Definition: GTruth.h:72
int ftgtPDG
PDG of Target Nucleus, nucleon only if free.
Definition: GTruth.h:46
int fGscatter
neutrino scattering code
Definition: GTruth.h:55
double fXsec
cross section of interaction
Definition: GTruth.h:34
TLorentzVector fProbeP4
Definition: GTruth.h:40
int fNumPi0
number of pi0 after reaction, before FSI
Definition: GTruth.h:82
int fCharmHadronPdg
Definition: GTruth.h:77
TLorentzVector fHitNucP4
Definition: GTruth.h:50
int fHitQrkPDG
hit quark PDG code // added version 13
Definition: GTruth.h:49
int fNumPi0
number of pi0 after reaction, before FSI
Definition: GTruth.h:75
bool fIsCharm
did the interaction produce a charmed hadron?
Definition: GTruth.h:76
int fDecayMode
Definition: GTruth.h:79
double fweight
event interaction weight (genie internal)
Definition: GTruth.h:28
double fHitNucPos
Definition: GTruth.h:51
int fGPhaseSpace
phase space system of DiffXSec
Definition: GTruth.h:36
int fProbePDG
Definition: GTruth.h:39
TLorentzVector fHitNucP4
Definition: GTruth.h:51
double fgW
Definition: GTruth.h:61
double fDiffXsec
differential cross section of interaction
Definition: GTruth.h:35
int fNumPiPlus
number of pi pluses after reaction, before FSI
Definition: GTruth.h:76
int fHitNucPDG
hit nucleon PDG code
Definition: GTruth.h:47
double fHitNucPos
Definition: GTruth.h:52
int ftgtPDG
PDG of Target Nucleus, nucleon only if free.
Definition: GTruth.h:47
double fgQ2
Definition: GTruth.h:62
TLorentzVector fFShadSystP4
generated final state hadronic system (LAB frame)
Definition: GTruth.h:73
int fGint
interaction code
Definition: GTruth.h:55
TLorentzVector fTgtP4
Definition: GTruth.h:42
int fHitNucPDG
hit nucleon PDG code // added version 13
Definition: GTruth.h:48
double fgT
Definition: GTruth.h:65
bool fIsSeaQuark
Definition: GTruth.h:49
int fHitQrkPDG
hit quark PDG code
Definition: GTruth.h:48
bool fIsStrange
strange production // added version 13
Definition: GTruth.h:71
TLorentzVector fFShadSystP4
generated final state hadronic system (LAB frame)
Definition: GTruth.h:66
bool fIsSeaQuark
Definition: GTruth.h:50
TLorentzVector fVertex
Definition: GTruth.h:26
double fgY
a common running variable to be recorded
Definition: GTruth.h:67
double fgQ2
< these are for the internal (on shell) genie kinematics
Definition: GTruth.h:59
double fDiffXsec
differential cross section of interaction
Definition: GTruth.h:31
int fStrangeHadronPdg
Definition: GTruth.h:79
std::set<std::string> const& gar::IgnorableProviderConfigKeys ( )
inline

Returns a list of configuration keys that providers should ignore.


Returns
a reference to a key list

This function may be used for parameter validation, like in:

fhicl::Table<Config> cfg { pset, gar::IgnorableProviderConfigKeys() };

where pset is a fhicl::ParameterSet. This will inform cfg that some keys can be unexpectedly present, or missing.

This implementation includes:

  • art framework service keywords

Definition at line 35 of file ProviderUtil.h.

36  {
37  static std::set<std::string> const ignorable {
38  "service_type", // added by art: service name (possibly interface)
39  "service_provider" // art: service implementation name
40  };
41  return ignorable;
42  } // IgnorableProviderConfigKeys()
garana::CaloCluster gar::MakeAnaCalCluster ( const rec::Cluster clust,
const int &  region,
const std::vector< std::pair< int, float >> &  edeps 
)

Definition at line 48 of file AnaUtils.cxx.

48  {
49 
50  TLorentzVector pos( clust.Position()[0], clust.Position()[1], clust.Position()[2], clust.Time() );
51 
52  //trade in our arrays for vectors/TVector3s
53  const float* eigs = clust.EigenVectors();
54  std::vector<TVector3> vecs;
55  for(int i=0; i<3; i++){
56  TVector3 eig( eigs[i], eigs[i+1], eigs[i+2] );
57  vecs.push_back(eig);
58  }
59 
60  garana::CaloCluster outclust(pos, region, clust.Energy(), clust.EnergyError(), clust.TimeDiffFirstLast(),
61  clust.Shape(), clust.ITheta(), clust.IPhi(), vecs, edeps );
62 
63  return outclust;
64  }//
garana::CaloCluster gar::MakeAnaCalCluster ( const rec::Cluster clust,
const int &  region,
const vector< pair< int, float >> &  edeps 
)

Definition at line 48 of file AnaUtils.cxx.

48  {
49 
50  TLorentzVector pos( clust.Position()[0], clust.Position()[1], clust.Position()[2], clust.Time() );
51 
52  //trade in our arrays for vectors/TVector3s
53  const float* eigs = clust.EigenVectors();
54  std::vector<TVector3> vecs;
55  for(int i=0; i<3; i++){
56  TVector3 eig( eigs[i], eigs[i+1], eigs[i+2] );
57  vecs.push_back(eig);
58  }
59 
60  garana::CaloCluster outclust(pos, region, clust.Energy(), clust.EnergyError(), clust.TimeDiffFirstLast(),
61  clust.Shape(), clust.ITheta(), clust.IPhi(), vecs, edeps );
62 
63  return outclust;
64  }//
garana::GTruth gar::MakeAnaGTruth ( const simb::GTruth gt,
const int &  vtxregion 
)

Definition at line 17 of file AnaUtils.cxx.

17  {
18 
19  garana::GTruth outtruth;
20  FillGTruth(gt, outtruth);
21 
22  outtruth.fVertexRegion = vtxregion;
23 
24  return outtruth;
25 
26  }
int fVertexRegion
region code where vertex is located
Definition: GTruth.h:26
void FillGTruth(const simb::GTruth &gt, garana::GTruth &outtruth)
Definition: AnaUtils.cxx:151
const garana::Track gar::MakeAnaTrack ( const rec::Track trk,
const vector< pair< int, float >> &  pidf,
const vector< pair< int, float >> &  pidb,
float  ionf,
float  ionb,
const vector< pair< UInt_t, TLorentzVector >> &  posBeg,
const vector< pair< UInt_t, TLorentzVector >> &  posEnd,
const vector< pair< UInt_t, TLorentzVector >> &  momBeg,
const vector< pair< UInt_t, TLorentzVector >> &  momEnd,
const vector< pair< int, float >> &  edeps 
)

Definition at line 202 of file AnaUtils.cxx.

209  {
210 
211  const float* tmp = trk.Vertex();
212  TLorentzVector vtx(tmp[0], tmp[1], tmp[2], trk.Time());
213 
214  tmp = trk.End();
215  TLorentzVector end(tmp[0], tmp[1], tmp[2], trk.Time()); // eventually track end times should be different
216 
217  tmp = trk.VtxDir();
218  TVector3 vtxDir(tmp[0], tmp[1], tmp[2]);
219 
220  tmp = trk.EndDir();
221  TVector3 endDir(tmp[0], tmp[1], tmp[2]);
222 
223  garana::Track anatrk( trk.LengthForward(), trk.LengthBackward(), trk.Momentum_beg(), trk.Momentum_end(),
224  vtx, end, vtxDir, endDir, trk.ChisqForward(), trk.ChisqBackward(), trk.NHits(),
225  trk.TrackParBeg(), trk.TrackParEnd(), trk.CovMatBegPacked(), trk.CovMatEndPacked(),
226  trk.ChargeBeg(), trk.ChargeEnd(), pidf, pidb, ionf, ionb, posBeg, posEnd, momBeg,
227  momEnd, edeps);
228 
229  return anatrk;
230 
231  }
end
while True: pbar.update(maxval-len(onlies[E][S])) #print iS, "/", len(onlies[E][S]) found = False for...
string tmp
Definition: languages.py:63
garana::Vee gar::MakeAnaVee ( const rec::Vee vee)

Definition at line 67 of file AnaUtils.cxx.

67  {
68 
69  TLorentzVector vtx( vee.Position()[0], vee.Position()[1], vee.Position()[2], vee.Time() );
70  std::vector<TLorentzVector> vecs;
71  for(int i=0; i<3; i++) {
72  vecs.push_back(vee.FourMomentum(i));
73  }
74 
75  garana::Vee outvee( vtx, vecs, vee.Chisq(), vee.VertexCov() );
76 
77  return outvee;
78  }//
garana::Vertex gar::MakeAnaVtx ( const rec::Vertex vtx)

Definition at line 80 of file AnaUtils.cxx.

80  {
81 
82  TLorentzVector pos( vtx.Position()[0], vtx.Position()[1], vtx.Position()[2], vtx.Time() );
83  garana::Vertex outvtx(pos, vtx.CovMat());
84 
85  return outvtx;
86  }//
garana::FSParticle gar::MakeFSParticle ( const simb::MCParticle mcp)

Definition at line 29 of file AnaUtils.cxx.

29  {
30  return garana::FSParticle(mcp.TrackId(), mcp.PdgCode(),mcp.Position(),mcp.Momentum());
31  }
const TLorentzVector & Position(const int i=0) const
Definition: MCParticle.h:219
int PdgCode() const
Definition: MCParticle.h:212
int TrackId() const
Definition: MCParticle.h:210
const TLorentzVector & Momentum(const int i=0) const
Definition: MCParticle.h:220
garana::G4Particle gar::MakeG4Particle ( const simb::MCParticle mcp,
int  parentPdg,
int  progenitorPdg,
int  progenitorTrackId,
const vector< pair< TLorentzVector, TLorentzVector >> &  positions,
const vector< pair< TLorentzVector, TLorentzVector >> &  momenta,
const vector< int > &  regions,
const vector< size_t > &  nptsPerRegion 
)

Definition at line 33 of file AnaUtils.cxx.

36  {
37  return garana::G4Particle(
38  mcp.NumberTrajectoryPoints(), mcp.PdgCode(), parentPdg, progenitorPdg,
39  mcp.TrackId(), mcp.Mother(), progenitorTrackId,
42  positions, momenta, regions, nptsPerRegion
43  );
44  }
unsigned int NumberTrajectoryPoints() const
Definition: MCParticle.h:218
int PdgCode() const
Definition: MCParticle.h:212
int ProcessNameToCode(std::string const &p)
Definition: AnaUtils.cxx:137
int Mother() const
Definition: MCParticle.h:213
std::string Process() const
Definition: MCParticle.h:215
int TrackId() const
Definition: MCParticle.h:210
std::string EndProcess() const
Definition: MCParticle.h:216
template<typename... Providers>
ProviderPack<Providers...> gar::makeProviderPack ( Providers const *...  providers)

Function to create a ParameterPack from the function arguments.

Template Parameters
Providerstypes of the providers in the parameter pack
Parameters
providersconstant pointers to the providers
Returns
a ParameterPack object containing all the specified providers

This is an convevience function to reduce the typing needed to instantiate a ParameterPack.

Definition at line 182 of file ProviderPack.h.

183  { return ProviderPack<Providers...>(providers...); }
int gar::ProcessNameToCode ( std::string const &  p)

Definition at line 137 of file AnaUtils.cxx.

138  {
139  if(processMap.find(p)==processMap.end()){
140  std::cout << "WARNING(AnaUtils::ProcessNameToCode): "
141  << "unknown process name, '" << p << "'" << std::endl;
142  return -9999;
143  }
144 
145  else
146  return processMap[p];
147 
148  }
std::unordered_map< std::string, int > processMap
Definition: AnaUtils.cxx:89
p
Definition: test.py:223
QTextStream & endl(QTextStream &s)
template<class T >
T::provider_type const* gar::providerFrom ( )

Returns a constant pointer to the provider of specified service.


Template Parameters
Ttype of the service
Returns
a constant pointer to the provider of specified service
Exceptions
art::Exception(category art::errors::NotFound) if pointer is null

This function relies on the following service and provider interface:

  • provider is not movable nor copiable
  • service contains a type "provider_type" defined as the class of the service provider
  • service contains a method "provider()" that returns a non-null pointer to a service provider; the service provider is owned and managed by the service, and the caller is not responsible of regulating the object lifetime, nor it should attempt to

Violations of the protocol yield compilation errors (in case non-compliance can be statically detected), or throw of exceptions.

Example of usage:

auto const* geom = gar::providerFrom<geo::GeometryGAr>();

retrieves the service provider for GArSoft geometry. This requires the inclusion of "Geometry/GeometryGAr.h" header, where the service is declared. Typically, both ServiceUtil.h and the header of the provider class are included in the service header.

Definition at line 63 of file ServiceUtil.h.

64  {
65  details::ServiceRequirementsChecker<T>(); // instantiate a temporary...
66 
67  // retrieve the provider
69  typename T::provider_type const* pProvider = h->provider();
70  if (!pProvider) {
72  << "Service <" << cet::demangle_symbol(typeid(T).name())
73  << "> offered a null provider";
74  }
75 
76  return pProvider;
77 
78  } // providerFrom()
static QCString name
Definition: declinfo.cpp:673
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
G4double gar::UnivScreenFunc ( G4double  E,
G4double  Z,
G4double  A 
)

Definition at line 1258 of file NestAlg.cxx.

1258  {
1259  G4double a_0 = 5.29e-11*CLHEP::m; G4double a = 0.626*a_0*pow(Z,(-1./3.));
1260  G4double epsilon_0 = 8.854e-12*(CLHEP::farad/CLHEP::m);
1261  G4double epsilon = (a*E*2.*CLHEP::twopi*epsilon_0)/(2*pow(CLHEP::eplus,2.)*pow(Z,2.));
1262  G4double zeta_0 = pow(Z,(1./6.)); G4double m_N = A*1.66e-27*CLHEP::kg;
1263  G4double hbar = 6.582e-16*CLHEP::eV*CLHEP::s;
1264  if ( Z == 54 ) {
1265  epsilon *= 1.068; //zeta_0 = 1.63;
1266  } //special case for LXe from Bezrukov et al. 2011
1267  G4double s_n = log(1+1.1383*epsilon)/(2.*(epsilon +
1268  0.01321*pow(epsilon,0.21226) +
1269  0.19593*sqrt(epsilon)));
1270  G4double s_e = (a_0*zeta_0/a)*hbar*sqrt(8*epsilon*2.*CLHEP::twopi*epsilon_0/
1271  (a*m_N*pow(CLHEP::eplus,2.)));
1272  return 1.38e5*0.5*(1+tanh(50*epsilon-0.25))*epsilon*(s_e/s_n);
1273  }
const double hbar
constexpr T pow(T x)
Definition: pow.h:72
static constexpr double kg
Definition: Units.h:143
static constexpr double eV
Definition: Units.h:127
const double a
int twopi
Definition: units.py:12
static QCString * s
Definition: config.cpp:1042

Variable Documentation

G4double gar::biExc = 0.77

Definition at line 47 of file NestAlg.cxx.

G4bool gar::diffusion = true

Definition at line 43 of file NestAlg.cxx.

G4bool gar::OutElectrons =true

Definition at line 45 of file NestAlg.cxx.

std::unordered_map<std::string,int> gar::processMap

Definition at line 89 of file AnaUtils.cxx.

G4bool gar::SinglePhase =false

Definition at line 45 of file NestAlg.cxx.

G4bool gar::ThomasImelTail =true

Definition at line 45 of file NestAlg.cxx.