Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Fix some Geant4<->Acts unit conversions #2264

Merged
merged 6 commits into from
Jul 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Examples/Algorithms/Geant4/src/ParticleTrackingAction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -102,15 +102,15 @@ void ActsExamples::ParticleTrackingAction::PostUserTrackingAction(
ActsExamples::SimParticle ActsExamples::ParticleTrackingAction::convert(
const G4Track& aTrack, SimBarcode particleId) const {
// Unit conversions G4->::ACTS
constexpr double convertTime = Acts::UnitConstants::s / CLHEP::s;
constexpr double convertTime = Acts::UnitConstants::ns / CLHEP::ns;
constexpr double convertLength = Acts::UnitConstants::mm / CLHEP::mm;
constexpr double convertEnergy = Acts::UnitConstants::GeV / CLHEP::GeV;

// Get all the information from the Track
const G4ParticleDefinition* particleDef = aTrack.GetParticleDefinition();
G4int pdg = particleDef->GetPDGEncoding();
G4double charge = particleDef->GetPDGCharge();
G4double mass = particleDef->GetPDGMass();
G4double mass = convertEnergy * particleDef->GetPDGMass();
G4ThreeVector pPosition = convertLength * aTrack.GetPosition();
G4double pTime = convertTime * aTrack.GetGlobalTime();
G4ThreeVector pDirection = aTrack.GetMomentumDirection();
Expand Down
3 changes: 2 additions & 1 deletion Examples/Algorithms/Geant4/src/SimParticleTranslation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ void ActsExamples::SimParticleTranslation::GeneratePrimaries(G4Event* anEvent) {
std::optional<Acts::Vector4> lastVertex;

constexpr double convertLength = CLHEP::mm / Acts::UnitConstants::mm;
constexpr double convertTime = CLHEP::ns / Acts::UnitConstants::ns;
constexpr double convertEnergy = CLHEP::GeV / Acts::UnitConstants::GeV;

unsigned int pCounter = 0;
Expand All @@ -95,7 +96,7 @@ void ActsExamples::SimParticleTranslation::GeneratePrimaries(G4Event* anEvent) {
lastVertex = currentVertex;
pVertex = new G4PrimaryVertex(
currentVertex[0] * convertLength, currentVertex[1] * convertLength,
currentVertex[2] * convertLength, currentVertex[3]);
currentVertex[2] * convertLength, currentVertex[3] * convertTime);
}

// Add a new primary to the vertex
Expand Down
4 changes: 2 additions & 2 deletions Examples/Python/tests/root_file_hashes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ test_pythia8__pythia8_particles.root: d9a3d4f16c01aab9984e0e848292760d44015f2108
test_fatras__particles_final.root: 0bfe4bbac90b112fd960b39cd5edd7d19fb9b8e308f8315db0871bfae061b550
test_fatras__particles_initial.root: 0e2d9974fdd4aa5549c5c05817ec54fe6c7d9cbe7969647f227956167e31110d
test_fatras__hits.root: d46b760e1647ab94c49d6976a78ee5a6178d41c45f2238f86f3987938a7901fb
test_geant4__particles_final.root: 94069908d2c77d5dd54193fbaa0d22d401b98df17c148fff6b48dbfa9e0b8a55
test_geant4__particles_initial.root: 0c70278caa0adebcae8ce64e8f262b99daab0c905bc4aefb9600bcb22106e7c6
test_geant4__particles_final.root: abf91622e96c0723651e864e050c7fdeee84b230aacb1c261ad81ff4e5df5f2c
test_geant4__particles_initial.root: 5be86aa4a2fc369093746451f37085e2c93f80f079b66023f5fe4b67e20100f6
test_geant4__hits.root: 70b592a546fd362c9341d87c9068b1f8fed657e0036e62e7262c01fa5eb2d469
test_seeding__estimatedparams.root: d39de91d7b0a88f0261070f33da5c5db96e2872f118b42a06577b38f5e81b25c
test_seeding__performance_seeding.root: 992f9c611d30dde0d3f3ab676bab19ada61ab6a4442828e27b65ec5e5b7a2880
Expand Down