EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4TpcPadPlaneReadout Class Reference

#include <fun4all_coresoftware/blob/master/simulation/g4simulation/g4tpc/PHG4TpcPadPlaneReadout.h>

+ Inheritance diagram for PHG4TpcPadPlaneReadout:
+ Collaboration diagram for PHG4TpcPadPlaneReadout:

Public Member Functions

 PHG4TpcPadPlaneReadout (const std::string &name="PHG4TpcPadPlaneReadout")
 
 ~PHG4TpcPadPlaneReadout () override
 
int CreateReadoutGeometry (PHCompositeNode *topNode, PHG4CylinderCellGeomContainer *seggeo) override
 
void MapToPadPlane (PHG4CellContainer *g4cells, const double x_gem, const double y_gem, const double t_gem, PHG4HitContainer::ConstIterator hiter, TNtuple *ntpad, TNtuple *nthit) override
 
void MapToPadPlane (TrkrHitSetContainer *single_hitsetcontainer, TrkrHitSetContainer *hitsetcontainer, TrkrHitTruthAssoc *hittruthassoc, const double x_gem, const double y_gem, const double t_gem, PHG4HitContainer::ConstIterator hiter, TNtuple *ntpad, TNtuple *nthit) override
 
void SetDefaultParameters () override
 
void UpdateInternalParameters () override
 
- Public Member Functions inherited from PHG4TpcPadPlane
 PHG4TpcPadPlane (const std::string &name="PHG4TpcPadPlane")
 
 ~PHG4TpcPadPlane () override
 
int process_event (PHCompositeNode *) final
 
int InitRun (PHCompositeNode *topNode) override
 
void Detector (const std::string &name)
 
- Public Member Functions inherited from SubsysReco
 ~SubsysReco () override
 
virtual int End (PHCompositeNode *)
 Called at the end of all processing.
 
virtual int EndRun (const int)
 Called at the end of each run.
 
virtual int Init (PHCompositeNode *)
 
virtual int Reset (PHCompositeNode *)
 Reset.
 
virtual int ResetEvent (PHCompositeNode *)
 Clean up after each event.
 
void Print (const std::string &="ALL") const override
 
- Public Member Functions inherited from Fun4AllBase
virtual ~Fun4AllBase ()
 
virtual const std::string Name () const
 Returns the name of this module.
 
virtual void Name (const std::string &name)
 Sets the name of this module.
 
virtual void Verbosity (const int ival)
 Sets the verbosity of this module (0 by default=quiet).
 
virtual void Verbosity (enu_Verbosity ival)
 Sets the verbosity of this module (0 by default=quiet).
 
virtual int Verbosity () const
 Gets the verbosity of this module.
 
- Public Member Functions inherited from PHParameterInterface
 PHParameterInterface (const std::string &name)
 
 PHParameterInterface (const PHParameterInterface &)=delete
 
virtual ~PHParameterInterface ()
 
void set_paramname (const std::string &name)
 
void set_double_param (const std::string &name, const double dval)
 
double get_double_param (const std::string &name) const
 
void set_int_param (const std::string &name, const int ival)
 
int get_int_param (const std::string &name) const
 
void set_string_param (const std::string &name, const std::string &sval)
 
std::string get_string_param (const std::string &name) const
 
void UpdateParametersWithMacro ()
 
void SaveToNodeTree (PHCompositeNode *runNode, const std::string &nodename)
 
void PutOnParNode (PHCompositeNode *parNode, const std::string &nodename)
 

Private Member Functions

void populate_rectangular_phibins (const unsigned int layernum, const double phi, const double cloud_sig_rp, std::vector< int > &pad_phibin, std::vector< double > &pad_phibin_share)
 
void populate_zigzag_phibins (const unsigned int layernum, const double phi, const double cloud_sig_rp, std::vector< int > &pad_phibin, std::vector< double > &pad_phibin_share)
 
void populate_zbins (const double z, const std::array< double, 2 > &cloud_sig_zz, std::vector< int > &adc_zbin, std::vector< double > &adc_zbin_share)
 
double getSingleEGEMAmplification ()
 

Private Attributes

std::string seggeonodename
 
PHG4CylinderCellGeomContainerGeomContainer = nullptr
 
PHG4CylinderCellGeomLayerGeom = nullptr
 
double rad_gem = NAN
 
double output_radius = 0
 
double neffelectrons_threshold = NAN
 
std::array< int, 3 > MinLayer
 
std::array< double, 3 > MinRadius
 
std::array< double, 3 > MaxRadius
 
std::array< double, 3 > Thickness
 
double MinZ = NAN
 
double MaxZ = NAN
 
double sigmaT = NAN
 
std::array< double, 2 > sigmaL
 
std::array< double, 3 > PhiBinWidth
 
double ZBinWidth = NAN
 
double tpc_drift_velocity = NAN
 
double tpc_adc_clock = NAN
 
int NZBins = INT_MAX
 
std::array< int, 3 > NPhiBins
 
std::array< int, 3 > NTpcLayers
 
int zigzag_pads = INT_MAX
 
int hit = 0
 
double averageGEMGain = NAN
 
std::vector< int > adc_zbin
 
std::vector< int > pad_phibin
 
std::vector< double > pad_phibin_share
 
std::vector< double > adc_zbin_share
 
gsl_rng * RandomGenerator
 

Static Private Attributes

static const unsigned int print_layer = 18
 
static constexpr double _nsigmas = 5
 

Additional Inherited Members

- Public Types inherited from Fun4AllBase
enum  enu_Verbosity {
  VERBOSITY_QUIET = 0, VERBOSITY_SOME = 1, VERBOSITY_MORE = 2, VERBOSITY_EVEN_MORE = 3,
  VERBOSITY_A_LOT = 4, VERBOSITY_MAX = INT_MAX - 10
}
 
- Protected Member Functions inherited from SubsysReco
 SubsysReco (const std::string &name="NONAME")
 
- Protected Member Functions inherited from PHParameterInterface
void set_default_double_param (const std::string &name, const double dval)
 
void set_default_int_param (const std::string &name, const int ival)
 
void set_default_string_param (const std::string &name, const std::string &sval)
 
void InitializeParameters ()
 
- Protected Attributes inherited from PHG4TpcPadPlane
std::string detector
 

Detailed Description

Definition at line 24 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 24 of file PHG4TpcPadPlaneReadout.h

Constructor & Destructor Documentation

PHG4TpcPadPlaneReadout::PHG4TpcPadPlaneReadout ( const std::string &  name = "PHG4TpcPadPlaneReadout")

Definition at line 55 of file PHG4TpcPadPlaneReadout.cc.

View newest version in sPHENIX GitHub at line 55 of file PHG4TpcPadPlaneReadout.cc

References PHParameterInterface::InitializeParameters(), and RandomGenerator.

+ Here is the call graph for this function:

PHG4TpcPadPlaneReadout::~PHG4TpcPadPlaneReadout ( )
override

Definition at line 66 of file PHG4TpcPadPlaneReadout.cc.

View newest version in sPHENIX GitHub at line 66 of file PHG4TpcPadPlaneReadout.cc

References RandomGenerator.

Member Function Documentation

double PHG4TpcPadPlaneReadout::getSingleEGEMAmplification ( )
private

Definition at line 302 of file PHG4TpcPadPlaneReadout.cc.

View newest version in sPHENIX GitHub at line 302 of file PHG4TpcPadPlaneReadout.cc

References averageGEMGain, and RandomGenerator.

Referenced by MapToPadPlane().

+ Here is the caller graph for this function:

void PHG4TpcPadPlaneReadout::MapToPadPlane ( PHG4CellContainer g4cells,
const double  x_gem,
const double  y_gem,
const double  t_gem,
PHG4HitContainer::ConstIterator  hiter,
TNtuple *  ntpad,
TNtuple *  nthit 
)
overridevirtual
void PHG4TpcPadPlaneReadout::MapToPadPlane ( TrkrHitSetContainer single_hitsetcontainer,
TrkrHitSetContainer hitsetcontainer,
TrkrHitTruthAssoc hittruthassoc,
const double  x_gem,
const double  y_gem,
const double  t_gem,
PHG4HitContainer::ConstIterator  hiter,
TNtuple *  ntpad,
TNtuple *  nthit 
)
overridevirtual
void PHG4TpcPadPlaneReadout::populate_rectangular_phibins ( const unsigned int  layernum,
const double  phi,
const double  cloud_sig_rp,
std::vector< int > &  pad_phibin,
std::vector< double > &  pad_phibin_share 
)
private

Definition at line 545 of file PHG4TpcPadPlaneReadout.cc.

View newest version in sPHENIX GitHub at line 545 of file PHG4TpcPadPlaneReadout.cc

References PHG4CylinderCellGeom::get_phibin(), PHG4CylinderCellGeom::get_phibins(), PHG4CylinderCellGeom::get_phicenter(), PHG4CylinderCellGeom::get_phistep(), PHG4CylinderCellGeom::get_radius(), LayerGeom, and G4BECAL::radius.

Referenced by MapToPadPlane().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4TpcPadPlaneReadout::populate_zbins ( const double  z,
const std::array< double, 2 > &  cloud_sig_zz,
std::vector< int > &  adc_zbin,
std::vector< double > &  adc_zbin_share 
)
private

Definition at line 668 of file PHG4TpcPadPlaneReadout.cc.

View newest version in sPHENIX GitHub at line 668 of file PHG4TpcPadPlaneReadout.cc

References PHG4CylinderCellGeom::get_layer(), PHG4CylinderCellGeom::get_zbin(), PHG4CylinderCellGeom::get_zbins(), PHG4CylinderCellGeom::get_zcenter(), PHG4CylinderCellGeom::get_zstep(), Acts::index1, Acts::index2, LayerGeom, NZBins, print_layer, and Fun4AllBase::Verbosity().

Referenced by MapToPadPlane().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4TpcPadPlaneReadout::populate_zigzag_phibins ( const unsigned int  layernum,
const double  phi,
const double  cloud_sig_rp,
std::vector< int > &  pad_phibin,
std::vector< double > &  pad_phibin_share 
)
private

Definition at line 583 of file PHG4TpcPadPlaneReadout.cc.

View newest version in sPHENIX GitHub at line 583 of file PHG4TpcPadPlaneReadout.cc

References _nsigmas, PHG4CylinderCellGeom::get_layer(), PHG4CylinderCellGeom::get_phibin(), PHG4CylinderCellGeom::get_phibins(), PHG4CylinderCellGeom::get_phicenter(), PHG4CylinderCellGeom::get_phistep(), PHG4CylinderCellGeom::get_radius(), LayerGeom, output_radius, phibins, print_layer, rad_gem, G4BECAL::radius, square(), and Fun4AllBase::Verbosity().

Referenced by MapToPadPlane().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4TpcPadPlaneReadout::SetDefaultParameters ( )
overridevirtual

Implements PHParameterInterface.

Definition at line 781 of file PHG4TpcPadPlaneReadout.cc.

View newest version in sPHENIX GitHub at line 781 of file PHG4TpcPadPlaneReadout.cc

References PHParameterInterface::set_default_double_param(), and PHParameterInterface::set_default_int_param().

+ Here is the call graph for this function:

void PHG4TpcPadPlaneReadout::UpdateInternalParameters ( )
overridevirtual

Reimplemented from PHG4TpcPadPlane.

Definition at line 821 of file PHG4TpcPadPlaneReadout.cc.

View newest version in sPHENIX GitHub at line 821 of file PHG4TpcPadPlaneReadout.cc

References averageGEMGain, PHParameterInterface::get_double_param(), PHParameterInterface::get_int_param(), M_PI, MaxRadius, MaxZ, MinLayer, MinRadius, MinZ, neffelectrons_threshold, NPhiBins, NTpcLayers, NZBins, PhiBinWidth, sigmaL, sigmaT, Thickness, tpc_adc_clock, tpc_drift_velocity, ZBinWidth, and zigzag_pads.

+ Here is the call graph for this function:

Member Data Documentation

constexpr double PHG4TpcPadPlaneReadout::_nsigmas = 5
staticprivate

Definition at line 77 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 77 of file PHG4TpcPadPlaneReadout.h

Referenced by populate_zigzag_phibins().

std::vector<int> PHG4TpcPadPlaneReadout::adc_zbin
private

Definition at line 81 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 81 of file PHG4TpcPadPlaneReadout.h

Referenced by MapToPadPlane().

std::vector<double> PHG4TpcPadPlaneReadout::adc_zbin_share
private

Definition at line 84 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 84 of file PHG4TpcPadPlaneReadout.h

Referenced by MapToPadPlane().

double PHG4TpcPadPlaneReadout::averageGEMGain = NAN
private

Definition at line 79 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 79 of file PHG4TpcPadPlaneReadout.h

Referenced by getSingleEGEMAmplification(), and UpdateInternalParameters().

PHG4CylinderCellGeomContainer* PHG4TpcPadPlaneReadout::GeomContainer = nullptr
private

Definition at line 47 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 47 of file PHG4TpcPadPlaneReadout.h

Referenced by CreateReadoutGeometry(), and MapToPadPlane().

int PHG4TpcPadPlaneReadout::hit = 0
private

Definition at line 74 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 74 of file PHG4TpcPadPlaneReadout.h

Referenced by MapToPadPlane().

PHG4CylinderCellGeom* PHG4TpcPadPlaneReadout::LayerGeom = nullptr
private

Definition at line 48 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 48 of file PHG4TpcPadPlaneReadout.h

Referenced by MapToPadPlane(), populate_rectangular_phibins(), populate_zbins(), and populate_zigzag_phibins().

std::array<double, 3> PHG4TpcPadPlaneReadout::MaxRadius
private

Definition at line 59 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 59 of file PHG4TpcPadPlaneReadout.h

Referenced by UpdateInternalParameters().

double PHG4TpcPadPlaneReadout::MaxZ = NAN
private

Definition at line 62 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 62 of file PHG4TpcPadPlaneReadout.h

Referenced by UpdateInternalParameters().

std::array<int, 3> PHG4TpcPadPlaneReadout::MinLayer
private

Definition at line 57 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 57 of file PHG4TpcPadPlaneReadout.h

Referenced by CreateReadoutGeometry(), and UpdateInternalParameters().

std::array<double, 3> PHG4TpcPadPlaneReadout::MinRadius
private

Definition at line 58 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 58 of file PHG4TpcPadPlaneReadout.h

Referenced by CreateReadoutGeometry(), and UpdateInternalParameters().

double PHG4TpcPadPlaneReadout::MinZ = NAN
private

Definition at line 61 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 61 of file PHG4TpcPadPlaneReadout.h

Referenced by CreateReadoutGeometry(), and UpdateInternalParameters().

double PHG4TpcPadPlaneReadout::neffelectrons_threshold = NAN
private

Definition at line 55 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 55 of file PHG4TpcPadPlaneReadout.h

Referenced by MapToPadPlane(), and UpdateInternalParameters().

std::array<int, 3> PHG4TpcPadPlaneReadout::NPhiBins
private

Definition at line 71 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 71 of file PHG4TpcPadPlaneReadout.h

Referenced by CreateReadoutGeometry(), and UpdateInternalParameters().

std::array<int, 3> PHG4TpcPadPlaneReadout::NTpcLayers
private

Definition at line 72 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 72 of file PHG4TpcPadPlaneReadout.h

Referenced by CreateReadoutGeometry(), and UpdateInternalParameters().

int PHG4TpcPadPlaneReadout::NZBins = INT_MAX
private

Definition at line 70 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 70 of file PHG4TpcPadPlaneReadout.h

Referenced by CreateReadoutGeometry(), populate_zbins(), and UpdateInternalParameters().

double PHG4TpcPadPlaneReadout::output_radius = 0
private

Definition at line 51 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 51 of file PHG4TpcPadPlaneReadout.h

Referenced by populate_zigzag_phibins().

std::vector<int> PHG4TpcPadPlaneReadout::pad_phibin
private

Definition at line 82 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 82 of file PHG4TpcPadPlaneReadout.h

Referenced by MapToPadPlane().

std::vector<double> PHG4TpcPadPlaneReadout::pad_phibin_share
private

Definition at line 83 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 83 of file PHG4TpcPadPlaneReadout.h

Referenced by MapToPadPlane().

std::array<double, 3> PHG4TpcPadPlaneReadout::PhiBinWidth
private

Definition at line 65 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 65 of file PHG4TpcPadPlaneReadout.h

Referenced by CreateReadoutGeometry(), and UpdateInternalParameters().

const unsigned int PHG4TpcPadPlaneReadout::print_layer = 18
staticprivate

Definition at line 53 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 53 of file PHG4TpcPadPlaneReadout.h

Referenced by MapToPadPlane(), populate_zbins(), and populate_zigzag_phibins().

double PHG4TpcPadPlaneReadout::rad_gem = NAN
private

Definition at line 50 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 50 of file PHG4TpcPadPlaneReadout.h

Referenced by MapToPadPlane(), and populate_zigzag_phibins().

gsl_rng* PHG4TpcPadPlaneReadout::RandomGenerator
private

Definition at line 88 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 88 of file PHG4TpcPadPlaneReadout.h

Referenced by getSingleEGEMAmplification(), PHG4TpcPadPlaneReadout(), and ~PHG4TpcPadPlaneReadout().

std::string PHG4TpcPadPlaneReadout::seggeonodename
private

Definition at line 45 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 45 of file PHG4TpcPadPlaneReadout.h

std::array<double, 2> PHG4TpcPadPlaneReadout::sigmaL
private

Definition at line 64 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 64 of file PHG4TpcPadPlaneReadout.h

Referenced by MapToPadPlane(), and UpdateInternalParameters().

double PHG4TpcPadPlaneReadout::sigmaT = NAN
private

Definition at line 63 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 63 of file PHG4TpcPadPlaneReadout.h

Referenced by MapToPadPlane(), and UpdateInternalParameters().

std::array<double, 3> PHG4TpcPadPlaneReadout::Thickness
private

Definition at line 60 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 60 of file PHG4TpcPadPlaneReadout.h

Referenced by CreateReadoutGeometry(), and UpdateInternalParameters().

double PHG4TpcPadPlaneReadout::tpc_adc_clock = NAN
private

Definition at line 68 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 68 of file PHG4TpcPadPlaneReadout.h

Referenced by UpdateInternalParameters().

double PHG4TpcPadPlaneReadout::tpc_drift_velocity = NAN
private

Definition at line 67 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 67 of file PHG4TpcPadPlaneReadout.h

Referenced by UpdateInternalParameters().

double PHG4TpcPadPlaneReadout::ZBinWidth = NAN
private

Definition at line 66 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 66 of file PHG4TpcPadPlaneReadout.h

Referenced by CreateReadoutGeometry(), and UpdateInternalParameters().

int PHG4TpcPadPlaneReadout::zigzag_pads = INT_MAX
private

Definition at line 73 of file PHG4TpcPadPlaneReadout.h.

View newest version in sPHENIX GitHub at line 73 of file PHG4TpcPadPlaneReadout.h

Referenced by MapToPadPlane(), and UpdateInternalParameters().


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