48 :G4VSensitiveDetector(name)
52 collectionName.insert(
"HDCWirePlaneCollection");
73 HCID = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]);
87 G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge();
88 G4String particlename = aStep->GetTrack()->GetDefinition()->GetParticleName();
89 G4int particletype = aStep->GetTrack()->GetDefinition()->GetPDGEncoding();
97 G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
98 G4StepPoint* postStepPoint = aStep->GetPreStepPoint();
99 G4TouchableHistory* theTouchable = (G4TouchableHistory*)(preStepPoint->GetTouchable());
100 G4VPhysicalVolume* physVol = theTouchable->GetVolume();
103 if (postStepPoint->GetStepStatus() != fGeomBoundary) {
115 if(strcmp(physVol->GetName(),
"HDC_WirePlane_Physical")==0) {
130 G4int WirePlaneCopyNo = theTouchable->GetVolume()->GetCopyNo();
133 G4int MotherCopyNo2 = theTouchable->GetVolume(2)->GetCopyNo();
144 G4ThreeVector worldPos = preStepPoint->GetPosition();
149 G4ThreeVector localPos = theTouchable->GetHistory()->GetTopTransform().TransformPoint(worldPos);
154 G4ThreeVector worldMomentum = preStepPoint->GetMomentum();
159 G4ThreeVector localMomentum = theTouchable->GetHistory()->GetTopTransform().TransformPoint(worldMomentum);
167 G4ThreeVector originVertexPosition = aStep->GetTrack()->GetVertexPosition();
168 G4ThreeVector originVertexMomentumDirection = aStep->GetTrack()->GetVertexMomentumDirection();
169 G4double originVertexKineticEnergy = aStep->GetTrack()->GetVertexKineticEnergy();
182 G4double currentKineticEnergy = preStepPoint->GetKineticEnergy();
183 G4double currentTotalEnergy = preStepPoint->GetTotalEnergy();
QweakSimHDC_WirePlaneSD(G4String name)
void StoreHDCID(G4int HDC_ID)
void StoreKineticEnergy(G4double ekin)
void StoreWorldPosition(G4ThreeVector gxyz)
QweakSimHDC_WirePlane_HitsCollection * hitsCollection
G4THitsCollection< QweakSimHDC_WirePlaneHit > QweakSimHDC_WirePlane_HitsCollection
G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROhist)
void StoreOriginVertexPosition(G4ThreeVector xyz)
void StoreWorldMomentum(G4ThreeVector gpxyz)
void StoreWirePlaneID(G4int wireplane_ID)
Handles hits of the HDC wire planes.
void Initialize(G4HCofThisEvent *HCE)
void EndOfEvent(G4HCofThisEvent *HCE)
void StoreOriginVertexMomentumDirection(G4ThreeVector pxyz)
void StoreParticleType(G4int pt)
void StoreParticleName(G4String pn)
void StoreLocalPosition(G4ThreeVector lxyz)
void StoreGlobalTime(G4double t)
void StoreLocalMomentum(G4ThreeVector lpxyz)
void StoreTotalEnergy(G4double etot)
void StoreOriginVertexKineticEnergy(G4double ekin)
~QweakSimHDC_WirePlaneSD()