1 #ifndef IonsInVoxelsProcessor_h
2 #define IonsInVoxelsProcessor_h 1
11 #include <marlin/Processor.h>
17 #include <gear/PadRowLayout2D.h>
99 int getPad(gear::PadRowLayout2D
const* padLayout, SimTrackerHit* hit);
105 std::string _inputIonsColName;
106 std::string _outputVoxelColName;
109 gear::PadRowLayout2D
const * _padLayout;
127 double _maxDriftLength;
136 TTree *_chargeInVoxelsTree;
140 void fillTree(LCCollectionVec* outputVoxelCollection);
142 bool _useNegativeHalf;
virtual void processEvent(lcio::LCEvent *evt)
Called for every event - the working horse.
Definition: IonsInVoxelsProcessor.cc:166
The VoxelTPC is a helper class containing a std::map of all TPCVoxels which contain charge...
Definition: VoxelTPC.h:42
int getPad(gear::PadRowLayout2D const *padLayout, SimTrackerHit *hit)
Function to get the pad corresponding to a hit for the different pad layouts.
Definition: IonsInVoxelsProcessor.cc:267
std::vector< int > _leaf_padIndex
the gear pad index
Definition: IonsInVoxelsProcessor.h:132
virtual void end()
Write the root file and close it porperly.
Definition: IonsInVoxelsProcessor.cc:390
int _writeAfterNEvents
Only write after n events (and summ up until then)
Definition: IonsInVoxelsProcessor.h:123
virtual void processRunHeader(lcio::LCRunHeader *run)
Called for every run.
Definition: IonsInVoxelsProcessor.cc:153
std::vector< int > _leaf_zIndex
the z index
Definition: IonsInVoxelsProcessor.h:133
double _ionisationEnergy
The mean ionisation energy in the gas.
Definition: IonsInVoxelsProcessor.h:122
std::string _rootFileName
Name of the file for the debug tree.
Definition: IonsInVoxelsProcessor.h:124
virtual void init()
Called at the begin of the job before anything is read.
Definition: IonsInVoxelsProcessor.cc:97
bool _outputIsPersistent
Flag whether to write the output to disk.
Definition: IonsInVoxelsProcessor.h:118
double _binLength
Length of the zBins.
Definition: IonsInVoxelsProcessor.h:121
void fillTree(LCCollectionVec *outputVoxelCollection)
a helper function to avoid code duplication.
Definition: IonsInVoxelsProcessor.cc:328
std::vector< int > _leaf_charge
charge per voxel
Definition: IonsInVoxelsProcessor.h:131
int _outputType
Output type: event based or total.
Definition: IonsInVoxelsProcessor.h:119
std::vector< double > _leaf_chargePerVolume
the charge per volume in the voxel (in C/mm^2)
Definition: IonsInVoxelsProcessor.h:130
This processor takes all ions from the primary ionisation and stores there charges in voxels...
Definition: IonsInVoxelsProcessor.h:67
std::vector< double > _leaf_z
the coordinates of the voxel centre
Definition: IonsInVoxelsProcessor.h:134