All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
SimDigital Class Reference

#include <SimDigital.h>

Inheritance diagram for SimDigital:
[legend]

Classes

struct  hitMemory
 

Public Member Functions

virtual ProcessornewProcessor ()
 
 SimDigital ()
 
virtual void init ()
 Called at the begin of the job before anything is read. More...
 
virtual void processEvent (LCEvent *evt)
 Called for every event - the working horse. More...
 
 SimDigital (const SimDigital &toCopy)=delete
 
void operator= (const SimDigital &toCopy)=delete
 

Private Types

typedef std::map
< dd4hep::long64, hitMemory
cellIDHitMap
 

Private Member Functions

void processCollection (LCCollection *inputCol, LCCollectionVec *&outputCol, LCCollectionVec *&outputRelCol, CHT::Layout layout)
 
cellIDHitMap createPotentialOutputHits (LCCollection *col, SimDigitalGeomCellId *aGeomCellId)
 
void removeAdjacentStep (std::vector< StepAndCharge > &vec)
 
void fillTupleStep (const std::vector< StepAndCharge > &vec, int level)
 
void removeHitsBelowThreshold (cellIDHitMap &myHitMap, float threshold)
 
void applyThresholds (cellIDHitMap &myHitMap)
 

Private Attributes

std::vector< std::string > _inputCollections {}
 
std::vector< std::string > _outputCollections {}
 
std::vector< std::string > _outputRelCollections {}
 
LCFlagImpl flag {}
 
LCFlagImpl flagRel {}
 
std::map< std::string, int > _counters {}
 
std::vector< float > _thresholdHcal {}
 
std::vector< double > _hitCharge = {}
 
std::map< dd4hep::long64,
std::vector< LCGenericObject * > > 
geneMap = {}
 
float _cellSize = 0
 
float _gasGapWidth = 1.2f
 
std::string chargeSpreaderOption = "Uniform"
 
std::string spreaderMapFile = ""
 
ChargeSpreaderParameters chargeSpreaderParameters
 
ChargeSpreaderchargeSpreader = nullptr
 
std::string polyaOption = "Uniform"
 
std::string polyaMapFile = ""
 
float polyaQbar = 0.0f
 
float polyaTheta = 0.0f
 
ChargeInducerchargeInducer = nullptr
 
int _polyaRandomSeed = 1
 
float _angleCorrPow = 0.4f
 
double timeCut = std::numeric_limits<double>::max()
 
double stepLengthCut = -1.0
 
bool _linkSteps = false
 
bool _doThresholds = true
 
std::string efficiencyOption = "Uniform"
 
std::string effMapFile = ""
 
EfficiencyManagerefficiency = nullptr
 
float _constEffMapValue = 0.97f
 
float _absZstepFilter = 0.0005f
 
float _minXYdistanceBetweenStep = 0.5f
 
bool _keepAtLeastOneStep = true
 
AIDA::ITuple * _debugTupleStepFilter = nullptr
 
AIDA::ITuple * _tupleStepFilter = nullptr
 
AIDA::ITuple * _tupleCollection = nullptr
 
AIDA::IHistogram1D * _histoCellCharge = nullptr
 
std::string _encodingType = "LCGEO"
 

Detailed Description

Definition at line 99 of file SimDigital.h.


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