PandaRoot
BSEmcFwEndcapAPDAndVPTTWaveformGenerator Class Reference

IdealDigitizationProcess (non waveform) for FwEndcap requires special treatment since the FwEndcap has VPTTs instead of APDs for some crystals. More...

#include <BSEmcFwEndcapAPDAndVPTTWaveformGenerator.h>

Inheritance diagram for BSEmcFwEndcapAPDAndVPTTWaveformGenerator:
PndProcess

Public Member Functions

 BSEmcFwEndcapAPDAndVPTTWaveformGenerator ()
 
virtual ~BSEmcFwEndcapAPDAndVPTTWaveformGenerator ()
 
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 SetupParameters (const PndParameterRegister *t_parameterRegister)
 Fetch all parameters from the PndParameterRegister. More...
 
virtual void RequestDataContainer (PndContainerRegister *t_register)
 Pass the container register to the process, and get the processes container requirements. More...
 
virtual void GetDataContainer (PndContainerRegister *t_register)
 Pass the container register to the process, and set the processes container requirements. More...
 
virtual void Process ()
 The actual data transformation (digitizing, clustering, etc.) should be defined here. More...
 
void SetVpttIds (const std::vector< Int_t > &t_vpttIds)
 
void SetMCDepositBranchName (const TString &t_branchName)
 
void SetWaveformBranchName (const TString &t_branchName)
 
void SetWaveformDataBranchName (const TString &t_branchName)
 
void RunTimebased (Bool_t t_timebased=kTRUE)
 
void SetStorageOfData (Bool_t t_storeWaves=kTRUE)
 
void StoreDataClass (Bool_t t_storeData=kTRUE)
 
- Public Member Functions inherited from PndProcess
 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

virtual Bool_t IsVpttDeposit (const BSEmcMCDeposit *t_deposit) const
 

Additional Inherited Members

- Protected Attributes inherited from PndProcess
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 {"PndProcess"}
 Name of current PndProcess (for debugging) More...
 
TStopwatch fTimer {}
 Timer to monitor Process() time. More...
 
Double_t fTotalTime {0}
 Time taken by this Process' Process() More...
 
ProcInfo_t fProcInfo
 Helper to access cpu process Memory Info. More...
 
Long_t fLastMemSize
 

Detailed Description

IdealDigitizationProcess (non waveform) for FwEndcap requires special treatment since the FwEndcap has VPTTs instead of APDs for some crystals.

Author
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 38 of file BSEmcFwEndcapAPDAndVPTTWaveformGenerator.h.

Constructor & Destructor Documentation

◆ BSEmcFwEndcapAPDAndVPTTWaveformGenerator()

BSEmcFwEndcapAPDAndVPTTWaveformGenerator::BSEmcFwEndcapAPDAndVPTTWaveformGenerator ( )

◆ ~BSEmcFwEndcapAPDAndVPTTWaveformGenerator()

virtual BSEmcFwEndcapAPDAndVPTTWaveformGenerator::~BSEmcFwEndcapAPDAndVPTTWaveformGenerator ( )
virtual

Member Function Documentation

◆ GetDataContainer()

virtual void BSEmcFwEndcapAPDAndVPTTWaveformGenerator::GetDataContainer ( PndContainerRegister )
virtual

Pass the container register to the process, and set the processes container requirements.

Parameters
t_register

Reimplemented from PndProcess.

◆ IsVpttDeposit()

virtual Bool_t BSEmcFwEndcapAPDAndVPTTWaveformGenerator::IsVpttDeposit ( const BSEmcMCDeposit t_deposit) const
protectedvirtual

Referenced by StoreDataClass().

◆ Process()

virtual void BSEmcFwEndcapAPDAndVPTTWaveformGenerator::Process ( )
virtual

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

Implements PndProcess.

◆ RequestDataContainer()

virtual void BSEmcFwEndcapAPDAndVPTTWaveformGenerator::RequestDataContainer ( PndContainerRegister )
virtual

Pass the container register to the process, and get the processes container requirements.

Parameters
t_register

Reimplemented from PndProcess.

◆ RunTimebased()

void BSEmcFwEndcapAPDAndVPTTWaveformGenerator::RunTimebased ( Bool_t  t_timebased = kTRUE)
inline

Definition at line 57 of file BSEmcFwEndcapAPDAndVPTTWaveformGenerator.h.

58  {
59  fAPDWaveformGenerator->RunTimebased(t_timebased);
60  fVPTTWaveformGenerator->RunTimebased(t_timebased);
61  };

◆ SetDetectorName()

virtual void BSEmcFwEndcapAPDAndVPTTWaveformGenerator::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.

◆ SetMCDepositBranchName()

void BSEmcFwEndcapAPDAndVPTTWaveformGenerator::SetMCDepositBranchName ( const TString &  t_branchName)
inline

Definition at line 54 of file BSEmcFwEndcapAPDAndVPTTWaveformGenerator.h.

54 { fMCDepositBranchName = t_branchName; }

◆ SetStorageOfData()

void BSEmcFwEndcapAPDAndVPTTWaveformGenerator::SetStorageOfData ( Bool_t  t_storeWaves = kTRUE)
inline

Definition at line 62 of file BSEmcFwEndcapAPDAndVPTTWaveformGenerator.h.

63  {
64  fAPDWaveformGenerator->SetStorageOfData(t_storeWaves);
65  fVPTTWaveformGenerator->SetStorageOfData(t_storeWaves);
66  };

◆ SetupParameters()

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

Fetch all parameters from the PndParameterRegister.

Parameters
t_parameter

Implements PndProcess.

◆ SetVpttIds()

void BSEmcFwEndcapAPDAndVPTTWaveformGenerator::SetVpttIds ( const std::vector< Int_t > &  t_vpttIds)
inline

Definition at line 49 of file BSEmcFwEndcapAPDAndVPTTWaveformGenerator.h.

50  {
51  fVpttIds = t_vpttIds;
52  std::sort(fVpttIds.begin(), fVpttIds.end());
53  }

◆ SetWaveformBranchName()

void BSEmcFwEndcapAPDAndVPTTWaveformGenerator::SetWaveformBranchName ( const TString &  t_branchName)
inline

Definition at line 55 of file BSEmcFwEndcapAPDAndVPTTWaveformGenerator.h.

55 { fWaveformBranchName = t_branchName; }

◆ SetWaveformDataBranchName()

void BSEmcFwEndcapAPDAndVPTTWaveformGenerator::SetWaveformDataBranchName ( const TString &  t_branchName)
inline

Definition at line 56 of file BSEmcFwEndcapAPDAndVPTTWaveformGenerator.h.

56 { fWaveformDataBranchName = t_branchName; }

◆ StoreDataClass()

void BSEmcFwEndcapAPDAndVPTTWaveformGenerator::StoreDataClass ( Bool_t  t_storeData = kTRUE)
inline

Definition at line 67 of file BSEmcFwEndcapAPDAndVPTTWaveformGenerator.h.

References IsVpttDeposit().

68  {
69  fAPDWaveformGenerator->StoreDataClass(t_storeData);
70  fVPTTWaveformGenerator->StoreDataClass(t_storeData);
71  };

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