HighLAND
Public Member Functions | Protected Member Functions | List of all members
proton_si::ProtonSIPropagator Class Reference
Inheritance diagram for proton_si::ProtonSIPropagator:
si_syst::ParticleSIPropagator

Public Member Functions

virtual Double_t GetCrossSection (const si_syst::InteractionType &, const Float_t &, const Int_t &, TGeoNode *) const
 
virtual Double_t GetCrossSectionError (const si_syst::InteractionType &type, const Float_t &, const Int_t &, TGeoNode *) const
 
virtual Bool_t InVOI (const TVector3 &) const
 Whether a track is in VOI given a position and detector.
 
- Public Member Functions inherited from si_syst::ParticleSIPropagator
void Initialize ()
 Initialization.
 
virtual void Propagate (ParticleHistory &, const TVector3 &) const
 Propagates a particle to a given pos filling all the history info.
 
bool IsInitialized ()
 Whether the propagator was initialized.
 
Double_t GetCrossSection (const si_syst::InteractionType &type, const ParticleState &state, const Int_t &PDG)
 Same but given the state.
 
Double_t GetCrossSectionError (const si_syst::InteractionType &type, const ParticleState &state, const Int_t &PDG)
 Same but given the state.
 
virtual Double_t GetReferenceCrossSection (const si_syst::InteractionType &, const Float_t &, const Int_t &, TGeoNode *) const
 
Double_t GetReferenceCrossSection (const si_syst::InteractionType &type, const si_syst::ParticleState &state, const Int_t &PDG)
 Same but given the state.
 
const std::set< si_syst::InteractionType > & GetInteractionTypes () const
 Get interaction types.
 
const std::set< ParticleId::PdgEnum > & GetParticlePDGs () const
 Get particle PDGs.
 
void AddInteractionType (si_syst::InteractionType type)
 Add an interaction type.
 
void AddParticlePDG (ParticleId::PdgEnum pdg)
 Add particle PDG.
 
void SetDetector (const SubDetId::SubDetEnum &det)
 Set detector of interest.
 
SubDetId::SubDetEnum GetDetector () const
 Get detector of interest.
 
void SetComputeReWeightStatus (bool status)
 Whether to calculate correction weight, w.r.t to reference cross-section.
 
bool GetComputeReWeightStatus () const
 Whether to calculate correction weight, w.r.t to reference cross-section.
 

Protected Member Functions

void SetParameters ()
 
- Protected Member Functions inherited from si_syst::ParticleSIPropagator
virtual Double_t DScattCenters (TGeoNode *) const
 

Additional Inherited Members

- Protected Attributes inherited from si_syst::ParticleSIPropagator
Double_t _lengthStepSize
 The step size in terms of length.
 
Double_t _momStepSize
 The step size in terms of monetum.
 
std::set< si_syst::InteractionType_intTypes
 Relevant interaction types to be considered while propagating.
 
std::set< ParticleId::PdgEnum > _particlePDGs
 PDG of relevant particles, keep here for the moment.
 
SubDetId::SubDetEnum _det
 Keep the relevant sub-detector here for the moment.
 
bool _computeReWeightInfo
 Whether to caculate weight for re-weighting (using the reference cross-section)
 

Detailed Description

Definition at line 9 of file ProtonInteractionSystematic.hxx.

Member Function Documentation

§ GetCrossSection()

Double_t proton_si::ProtonSIPropagator::GetCrossSection ( const si_syst::InteractionType ,
const Float_t &  ,
const Int_t &  ,
TGeoNode *   
) const
virtual

The function that gives a x-section value given a channel, momentum value, and node

  • particle type so to make it fully general

Implements si_syst::ParticleSIPropagator.

Definition at line 73 of file ProtonInteractionSystematic.cxx.

73  {
74 //********************************************************************
75 
76  // Only work with inelastic at the moment
77  if (type != si_syst::kInelastic) return 0.;
78 
79  (void)pdg;
80 
81  TGeoVolume *volume = node->GetVolume();
82  TGeoMaterial *material = volume->GetMaterial();
83  TGeoMixture *mixture = (TGeoMixture*)material;
84 
85  return GetProtonInelasticCrossSection(mom, mixture->GetZ(), mixture->GetA());
86 
87 }

§ GetCrossSectionError()

virtual Double_t proton_si::ProtonSIPropagator::GetCrossSectionError ( const si_syst::InteractionType ,
const Float_t &  ,
const Int_t &  ,
TGeoNode *   
) const
inlinevirtual

The function that gives a x-section value` uncertainty given a channel, momentum value and

  • particle type so to make it fully general

Implements si_syst::ParticleSIPropagator.

Definition at line 20 of file ProtonInteractionSystematic.hxx.

20  {
21  if (type != si_syst::kInelastic) return 0.;
22  return _uncertainty;
23  }

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