|
ATTPCROOT
0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
|
#include <AtSimpleSimulation.h>

Classes | |
| struct | ParticleID |
Public Member Functions | |
| AtSimpleSimulation (std::string geoFile) | |
| AtSimpleSimulation () | |
| AtSimpleSimulation (const AtSimpleSimulation &other)=default | |
| ~AtSimpleSimulation ()=default | |
| void | RegisterBranch (std::string branchName="AtTpcPoint", bool pers=true) |
| void | AddModel (int Z, int A, ModelPtr model) |
| void | SetSpaceChargeModel (SpaceChargeModel model) |
| void | SetDistanceStep (double step) |
| void | NewEvent () |
| void | SimulateParticle (int Z, int A, const XYZPoint &iniPos, const PxPyPzEVector &iniMom) |
| AtMCPoint & | GetMcPoint (int i) |
| int | GetNumPoints () |
| TClonesArray & | GetPointsArray () |
| SpaceChargeModel | GetSpaceChargeModel () |
Protected Types | |
| using | SpaceChargeModel = std::shared_ptr< AtSpaceChargeModel > |
| using | ModelPtr = std::shared_ptr< AtTools::AtELossModel > |
| using | XYZPoint = ROOT::Math::XYZPoint |
| using | XYZVector = ROOT::Math::XYZVector |
| using | PxPyPzEVector = ROOT::Math::PxPyPzEVector |
Protected Member Functions | |
| bool | IsInVolume (const std::string &volName, const XYZPoint &point) |
| std::string | GetVolumeName (const XYZPoint &point) |
| void | SimulateParticle (ModelPtr model, const XYZPoint &iniPos, const PxPyPzEVector &iniMom) |
| void | AddHit (double ELoss, const XYZPoint &pos, const PxPyPzEVector &mom, double length) |
| TGeoVolume * | GetVolume (const XYZPoint &pos) |
| Takes position in mm. More... | |
Protected Attributes | |
| std::map< ParticleID, ModelPtr > | fModels |
| SpaceChargeModel | fSCModel {nullptr} |
| double | fDistStep {1.} |
| std::mutex | fGeoMutex |
Static Protected Attributes | |
| static thread_local int | fTrackID = 0 |
| static thread_local TClonesArray | fMCPoints |
Class for simulating simple events using AtELossModels. Units in this class are MeV (energy), mm (distance) MeV/c (momentum).
Definition at line 29 of file AtSimpleSimulation.h.
|
protected |
Definition at line 38 of file AtSimpleSimulation.h.
|
protected |
Definition at line 41 of file AtSimpleSimulation.h.
|
protected |
Definition at line 37 of file AtSimpleSimulation.h.
|
protected |
Definition at line 39 of file AtSimpleSimulation.h.
|
protected |
Definition at line 40 of file AtSimpleSimulation.h.
| AtSimpleSimulation::AtSimpleSimulation | ( | std::string | geoFile | ) |
Assumes that the IO manager has been initialized (it will attempt to construct the branch needed here).
Definition at line 24 of file AtSimpleSimulation.cxx.
| AtSimpleSimulation::AtSimpleSimulation | ( | ) |
Definition at line 31 of file AtSimpleSimulation.cxx.
|
default |
|
default |
|
protected |
Units are mm, Mev, and Mev/c.
Definition at line 150 of file AtSimpleSimulation.cxx.
| void AtSimpleSimulation::AddModel | ( | int | Z, |
| int | A, | ||
| ModelPtr | model | ||
| ) |
Definition at line 82 of file AtSimpleSimulation.cxx.
|
inline |
Definition at line 69 of file AtSimpleSimulation.h.
|
inline |
Definition at line 70 of file AtSimpleSimulation.h.
|
inline |
Definition at line 71 of file AtSimpleSimulation.h.
|
inline |
Definition at line 72 of file AtSimpleSimulation.h.
|
protected |
Takes position in mm.
Definition at line 49 of file AtSimpleSimulation.cxx.
|
protected |
Definition at line 73 of file AtSimpleSimulation.cxx.
|
protected |
Definition at line 62 of file AtSimpleSimulation.cxx.
| void AtSimpleSimulation::NewEvent | ( | ) |
Definition at line 141 of file AtSimpleSimulation.cxx.
| void AtSimpleSimulation::RegisterBranch | ( | std::string | branchName = "AtTpcPoint", |
| bool | pers = true |
||
| ) |
Definition at line 175 of file AtSimpleSimulation.cxx.
|
inline |
Definition at line 64 of file AtSimpleSimulation.h.
|
inline |
Definition at line 63 of file AtSimpleSimulation.h.
| void AtSimpleSimulation::SimulateParticle | ( | int | Z, |
| int | A, | ||
| const XYZPoint & | iniPos, | ||
| const PxPyPzEVector & | iniMom | ||
| ) |
Definition at line 92 of file AtSimpleSimulation.cxx.
|
protected |
Definition at line 103 of file AtSimpleSimulation.cxx.
|
protected |
Definition at line 45 of file AtSimpleSimulation.h.
|
protected |
Definition at line 46 of file AtSimpleSimulation.h.
|
staticprotected |
Definition at line 50 of file AtSimpleSimulation.h.
|
protected |
Definition at line 43 of file AtSimpleSimulation.h.
|
protected |
Definition at line 44 of file AtSimpleSimulation.h.
|
staticprotected |
Definition at line 49 of file AtSimpleSimulation.h.
1.8.18