PandaRoot
BSEmcMCHitProductionProcess Class Reference

Process to create BSEmcMCHits out of BSEmcMCPoints. More...

#include <BSEmcMCHitProductionProcess.h>

Inheritance diagram for BSEmcMCHitProductionProcess:
BSEmcSortMCTruthAlgo PndProcess< BSEmcMCHitProductionData > BSEmcBarrelZDependentHitProductionProcess

Public Member Functions

 BSEmcMCHitProductionProcess ()
 
virtual ~BSEmcMCHitProductionProcess ()
 
virtual void SetData (BSEmcMCHitProductionData *t_pdata)
 Pass the data container ptrs to the process, and store pointers in class members. More...
 
virtual void SetupParameters (const PndParameterRegister *t_parameter)
 Fetch all parameters from the PndParameterRegister. More...
 
virtual void SetDetectorName (const std::string &t_detectorname)
 Set the Detector name. Important, as most EmcParameter need to know for which detector they need to be fetched (each Emc Subdetector has its own set of parameters) More...
 
virtual void Process ()
 The actual data transformation (digitizing, clustering, etc.) should be defined here. More...
 
void SetHitParName (const std::string &t_parName)
 
void SetPositionParName (const std::string &t_parName)
 
void SetVolume (BSEmcVolume *t_volume)
 
- Public Member Functions inherited from PndProcess< BSEmcMCHitProductionData >
 PndProcess ()
 
 PndProcess (const std::string &t_processname)
 
virtual ~PndProcess ()
 
const std::vector< std::string > & GetListOfRequiredParameters () const
 Get the List Of Required Parameters. More...
 
virtual void PreProcess ()
 PreProcess() is called before the actual Process() call in each event. More...
 
virtual void PostProcess ()
 Immediately after calling Process() PostProcess() is called for cleanup of internal process data, or if not needed, to end the time and memory increase measurement started by PreProcess() More...
 
virtual void TearDown ()
 Last actions at the end of the run. More...
 

Protected Member Functions

 ClassDef (BSEmcMCHitProductionProcess, 1)
 

Protected Attributes

std::string fHitParName {""}
 
std::string fPositionParName {""}
 
PndInputContainerI< PndMCTrack > * fMCTrackArray {nullptr}
 
PndOutputContainerI< BSEmcMCPoint > * fPointArray {nullptr}
 
PndOutputContainerI< BSEmcMCHit > * fHitArray {nullptr}
 
Double_t fEnergyThreshold {-1}
 
Double_t fCutMotherParticle {-1}
 
Double_t fCutSameTrack {-1}
 
BSEmcCrystalPositionParfPositionPar {nullptr}
 
BSEmcVolumefBoundaryVolume {nullptr}
 
std::map< Int_t, Float_t > fTrackEnergy {}
 
std::map< Int_t, Float_t > fTrackTime {}
 
std::map< Int_t, std::vector< Int_t > > fTrackMcTruth {}
 
std::map< Int_t, std::vector< Int_t > > fPointMatch {}
 
std::map< Int_t, FairMultiLinkedData > fTrackEntering {}
 
std::map< Int_t, FairMultiLinkedData > fTrackExiting {}
 
std::map< Int_t, const BSEmcMCPoint * > fLastPointForTrack {}
 
std::map< Int_t, std::map< Int_t, Double_t > > fShower {}
 
- Protected Attributes inherited from PndProcess< BSEmcMCHitProductionData >
std::vector< std::string > fParameterList
 Parameter names required by this PndProcess. Needs to be populated in derived class. More...
 
std::string fDetectorName
 Set Detector name this PndProcess transforms data for. Required for example by EMC Processes to fetch right parameters. More...
 
std::string fProcessName
 Name of current PndProcess (for debugging) More...
 
TStopwatch fTimer
 Timer to monitor Process() time. More...
 
Double_t fTotalTime
 Time taken by this Process' Process() More...
 
ProcInfo_t fProcInfo
 Helper to access cpu process Memory Info. More...
 
Long_t fLastMemSize
 

Detailed Description

Process to create BSEmcMCHits out of BSEmcMCPoints.

Based on PndEmcHitProducer. Sums up all BSEmcMCPoints of a crystals are summed up and stored as BSEmcMCHit Additionally Tobias Stockmanns implemented algorithm to determine energy contributions from different entering tracks

Author
S.Spataro
Tobias Stockmanns
Ben Salisbury salis.nosp@m.bury.nosp@m.@hisk.nosp@m.p.un.nosp@m.i-bon.nosp@m.n.de, HISKP Bonn
Date
2021-01

Definition at line 95 of file BSEmcMCHitProductionProcess.h.

Constructor & Destructor Documentation

◆ BSEmcMCHitProductionProcess()

BSEmcMCHitProductionProcess::BSEmcMCHitProductionProcess ( )

◆ ~BSEmcMCHitProductionProcess()

virtual BSEmcMCHitProductionProcess::~BSEmcMCHitProductionProcess ( )
virtual

Member Function Documentation

◆ ClassDef()

BSEmcMCHitProductionProcess::ClassDef ( BSEmcMCHitProductionProcess  ,
 
)
protected

◆ Process()

virtual void BSEmcMCHitProductionProcess::Process ( )
virtual

The actual data transformation (digitizing, clustering, etc.) should be defined here.

Implements PndProcess< BSEmcMCHitProductionData >.

◆ SetData()

virtual void BSEmcMCHitProductionProcess::SetData ( BSEmcMCHitProductionData t_data)
virtual

Pass the data container ptrs to the process, and store pointers in class members.

Parameters
t_data

Implements PndProcess< BSEmcMCHitProductionData >.

◆ SetDetectorName()

virtual void BSEmcMCHitProductionProcess::SetDetectorName ( const std::string &  t_detectorname)
virtual

Set the Detector name. Important, as most EmcParameter need to know for which detector they need to be fetched (each Emc Subdetector has its own set of parameters)

Parameters
t_detectorname

Reimplemented from PndProcess< BSEmcMCHitProductionData >.

◆ SetHitParName()

void BSEmcMCHitProductionProcess::SetHitParName ( const std::string &  t_parName)
inline

Definition at line 103 of file BSEmcMCHitProductionProcess.h.

103 { fHitParName = t_parName; }

◆ SetPositionParName()

void BSEmcMCHitProductionProcess::SetPositionParName ( const std::string &  t_parName)
inline

Definition at line 104 of file BSEmcMCHitProductionProcess.h.

104 { fPositionParName = t_parName; }

◆ SetupParameters()

virtual void BSEmcMCHitProductionProcess::SetupParameters ( const PndParameterRegister t_parameter)
virtual

Fetch all parameters from the PndParameterRegister.

Parameters
t_parameter

Implements PndProcess< BSEmcMCHitProductionData >.

Reimplemented in BSEmcBarrelZDependentHitProductionProcess.

◆ SetVolume()

void BSEmcMCHitProductionProcess::SetVolume ( BSEmcVolume t_volume)
inline

Definition at line 105 of file BSEmcMCHitProductionProcess.h.

105 { fBoundaryVolume = t_volume; }

Member Data Documentation

◆ fBoundaryVolume

BSEmcVolume* BSEmcMCHitProductionProcess::fBoundaryVolume {nullptr}
protected

Definition at line 135 of file BSEmcMCHitProductionProcess.h.

◆ fCutMotherParticle

Double_t BSEmcMCHitProductionProcess::fCutMotherParticle {-1}
protected

Definition at line 132 of file BSEmcMCHitProductionProcess.h.

◆ fCutSameTrack

Double_t BSEmcMCHitProductionProcess::fCutSameTrack {-1}
protected

Definition at line 133 of file BSEmcMCHitProductionProcess.h.

◆ fEnergyThreshold

Double_t BSEmcMCHitProductionProcess::fEnergyThreshold {-1}
protected

Definition at line 131 of file BSEmcMCHitProductionProcess.h.

◆ fHitArray

PndOutputContainerI<BSEmcMCHit>* BSEmcMCHitProductionProcess::fHitArray {nullptr}
protected

Definition at line 130 of file BSEmcMCHitProductionProcess.h.

◆ fHitParName

std::string BSEmcMCHitProductionProcess::fHitParName {""}
protected

Definition at line 126 of file BSEmcMCHitProductionProcess.h.

◆ fLastPointForTrack

std::map<Int_t, const BSEmcMCPoint *> BSEmcMCHitProductionProcess::fLastPointForTrack {}
protected

Definition at line 143 of file BSEmcMCHitProductionProcess.h.

◆ fMCTrackArray

PndInputContainerI<PndMCTrack>* BSEmcMCHitProductionProcess::fMCTrackArray {nullptr}
protected

Definition at line 128 of file BSEmcMCHitProductionProcess.h.

◆ fPointArray

PndOutputContainerI<BSEmcMCPoint>* BSEmcMCHitProductionProcess::fPointArray {nullptr}
protected

Definition at line 129 of file BSEmcMCHitProductionProcess.h.

◆ fPointMatch

std::map<Int_t, std::vector<Int_t> > BSEmcMCHitProductionProcess::fPointMatch {}
protected

Definition at line 140 of file BSEmcMCHitProductionProcess.h.

◆ fPositionPar

BSEmcCrystalPositionPar* BSEmcMCHitProductionProcess::fPositionPar {nullptr}
protected

Definition at line 134 of file BSEmcMCHitProductionProcess.h.

◆ fPositionParName

std::string BSEmcMCHitProductionProcess::fPositionParName {""}
protected

Definition at line 127 of file BSEmcMCHitProductionProcess.h.

◆ fShower

std::map<Int_t, std::map<Int_t, Double_t> > BSEmcMCHitProductionProcess::fShower {}
protected

Definition at line 144 of file BSEmcMCHitProductionProcess.h.

◆ fTrackEnergy

std::map<Int_t, Float_t> BSEmcMCHitProductionProcess::fTrackEnergy {}
protected

Definition at line 137 of file BSEmcMCHitProductionProcess.h.

◆ fTrackEntering

std::map<Int_t, FairMultiLinkedData> BSEmcMCHitProductionProcess::fTrackEntering {}
protected

Definition at line 141 of file BSEmcMCHitProductionProcess.h.

◆ fTrackExiting

std::map<Int_t, FairMultiLinkedData> BSEmcMCHitProductionProcess::fTrackExiting {}
protected

Definition at line 142 of file BSEmcMCHitProductionProcess.h.

◆ fTrackMcTruth

std::map<Int_t, std::vector<Int_t> > BSEmcMCHitProductionProcess::fTrackMcTruth {}
protected

Definition at line 139 of file BSEmcMCHitProductionProcess.h.

◆ fTrackTime

std::map<Int_t, Float_t> BSEmcMCHitProductionProcess::fTrackTime {}
protected

Definition at line 138 of file BSEmcMCHitProductionProcess.h.


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