67{
68 auto charge = step->GetTrack()->GetDefinition()->GetPDGCharge();
69 if (charge==0.) return true;
70
71 auto preStepPoint = step->GetPreStepPoint();
72
73 auto touchable = step->GetPreStepPoint()->GetTouchable();
74 auto motherPhysical = touchable->GetVolume(1);
75 auto copyNo = motherPhysical->GetCopyNo();
76
77 auto worldPos = preStepPoint->GetPosition();
78 auto localPos
79 = touchable->GetHistory()->GetTopTransform().TransformPoint(worldPos);
80
81 auto hit = new DriftChamberHit(copyNo);
82 hit->SetWorldPos(worldPos);
83 hit->SetLocalPos(localPos);
84 hit->SetTime(preStepPoint->GetGlobalTime());
85
87
88 return true;
89}