|
MarlinTPC
1.2.0
|
Public Member Functions | |
| HitDistributor (const gear::TPCParameters *, double zBinLength, double inductionFactor=0) | |
| Constructors for the class. | |
| ~HitDistributor () | |
| Destructor. | |
| std::list< TPCVoxel > | distributeHit (SimTrackerHit *hit, double sigmaTrans, double sigmaLong=0) |
| Only function accessible from the outside. More... | |
Protected Member Functions | |
| std::list< GlobalPadIndex > | getPads (double sigmaTrans) |
| Methods to determine the pads on which the charge of the hit is distributed on. | |
| void | getPadsOnTheLeft (std::list< GlobalPadIndex > &padList, GlobalPadIndex centerIndex, double sigmaTrans) |
| Called by getPads(). More... | |
| void | getPadsOnTheRight (std::list< GlobalPadIndex > &padList, GlobalPadIndex centerIndex, double sigmaTrans) |
| bool | checkDistance (GlobalPadIndex globalPadIndex, double sigmaTrans) |
| Check if the distance between the input pad and the hit is within the distribution range. | |
| std::list< TPCVoxel > | distributeHitOnPadsPolar (std::list< GlobalPadIndex > padIndexList, SimTrackerHit *hit, double sigmaTrans, double sigmaLong) |
| Distributes the charge of the hit on the pads in the input list by integration over a 2D gaussian. | |
| std::list< TPCVoxel > | distributeHitOnPadsRect (std::list< GlobalPadIndex > padIndexList, SimTrackerHit *hit, double sigmaTrans, double sigmaLong) |
| double | CalculateGausIntegral (double sigma, double start, double end, double center) |
| Helper function to perform integration of gaussian in 1D. More... | |
| void | ApplyInduction (double hitTime, double sigmaLong, double charge, GlobalPadIndex gpadIndex, std::list< TPCVoxel > &voxelList) |
| Helper function to carry out induction of charge on neighbouring pads. More... | |
| void | FillZBins (double hitTime, double sigmaLong, double charge, GlobalPadIndex padIndex, std::list< TPCVoxel > &voxelList) |
| Helper function to fill charge on pad in z bins. More... | |
Protected Attributes | |
| const gear::TPCParameters * | _tpcParameters |
| Pointer on the gear pad layout. | |
| double | _zBinLength |
| Initilazation parameter. | |
| double | _sigmaTrans |
| Diffusion parameters. More... | |
| double | _sigmaLong |
| double | _c0Hit |
| Coordinates of the hit. More... | |
| double | _c1Hit |
| int | _padLayoutType |
| Type of the pad layout. More... | |
| int | _tpcCoordinateType |
| Type of the globale coordinate system for the TPC. | |
| double | _inductionFactor |
| Size of induction on neighbour pads in percent of charge on central pad. | |
|
protected |
Helper function to carry out induction of charge on neighbouring pads.
References _tpcParameters, and FillZBins().
Referenced by distributeHitOnPadsPolar().
|
protected |
Helper function to perform integration of gaussian in 1D.
Referenced by distributeHitOnPadsPolar().
| std::list< TPCVoxel > marlintpc::HitDistributor::distributeHit | ( | SimTrackerHit * | hit, |
| double | sigmaTrans, | ||
| double | sigmaLong = 0 |
||
| ) |
Only function accessible from the outside.
Takes a hit and the diffusion parameters for input. Calls all the over function necessary, depending on the type of the pad layout.
References _c0Hit, _padLayoutType, _tpcCoordinateType, _tpcParameters, distributeHitOnPadsPolar(), and getPads().
|
protected |
Helper function to fill charge on pad in z bins.
References _zBinLength.
Referenced by ApplyInduction(), and distributeHitOnPadsPolar().
|
protected |
Called by getPads().
Add all pad indices to the list which are within the distribution range and left/right from the input pad index. For performance reasons a reference is passed and the list in the argument is modified
References _tpcParameters, and checkDistance().
Referenced by getPads().
|
protected |
Coordinates of the hit.
Are newly set for each hit.
Referenced by checkDistance(), distributeHit(), distributeHitOnPadsPolar(), and getPads().
|
protected |
Type of the pad layout.
Decides which smearing decides which smearing function is called.
Referenced by distributeHit(), and getPads().
|
protected |
Diffusion parameters.
Come with the hit to smear and may change from hit to hit.
1.8.6