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.