ATTPCROOT
0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
|
Go to the documentation of this file. 1 #ifndef AT_SIMPLE_SIMULATION_H
2 #define AT_SIMPLE_SIMULATION_H
6 #include <Math/Point3D.h>
7 #include <Math/Point3Dfwd.h>
8 #include <Math/Vector3D.h>
9 #include <Math/Vector3Dfwd.h>
10 #include <Math/Vector4D.h>
11 #include <Math/Vector4Dfwd.h>
12 #include <TClonesArray.h>
38 using ModelPtr = std::shared_ptr<AtTools::AtELossModel>;
61 void RegisterBranch(std::string branchName =
"AtTpcPoint",
bool pers =
true);
83 #endif // AT_SIMPLE_SIMULATION_H
void RegisterBranch(std::string branchName="AtTpcPoint", bool pers=true)
ROOT::Math::XYZPoint XYZPoint
static thread_local int fTrackID
~AtSimpleSimulation()=default
void SimulateParticle(int Z, int A, const XYZPoint &iniPos, const PxPyPzEVector &iniMom)
ROOT::Math::XYZVector XYZVector
TGeoVolume * GetVolume(const XYZPoint &pos)
Takes position in mm.
void AddModel(int Z, int A, ModelPtr model)
ROOT::Math::XYZPoint XYZPoint
ROOT::Math::PxPyPzEVector PxPyPzEVector
std::string GetVolumeName(const XYZPoint &point)
void SetDistanceStep(double step)
void SetSpaceChargeModel(SpaceChargeModel model)
SpaceChargeModel GetSpaceChargeModel()
bool operator<(const ParticleID &other) const
TClonesArray & GetPointsArray()
SpaceChargeModel fSCModel
std::shared_ptr< AtTools::AtELossModel > ModelPtr
ROOT::Math::PxPyPzEVector PxPyPzEVector
AtMCPoint & GetMcPoint(int i)
std::shared_ptr< AtSpaceChargeModel > SpaceChargeModel
ROOT::Math::XYZVector XYZVector
AtSimpleSimulation(const AtSimpleSimulation &other)=default
bool IsInVolume(const std::string &volName, const XYZPoint &point)
static thread_local TClonesArray fMCPoints
void AddHit(double ELoss, const XYZPoint &pos, const PxPyPzEVector &mom, double length)
std::map< ParticleID, ModelPtr > fModels