48 :G4VSensitiveDetector(name)
52 collectionName.insert(
"VDCWirePlaneCollection");
74 HCID = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]);
87 G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge();
92 G4String particlename = aStep->GetTrack()->GetDefinition()->GetParticleName();
93 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(),
"VDC_UPlane_Physical")==0) || (strcmp(physVol->GetName(),
"VDC_VPlane_Physical")==0) ) {
135 G4double currentKineticEnergy = preStepPoint->GetKineticEnergy();
138 G4double currentTotalEnergy = preStepPoint->GetTotalEnergy();
142 G4ThreeVector currentMomentumDirection = preStepPoint->GetMomentumDirection();
153 G4int WirePlaneCopyNo = theTouchable->GetVolume()->GetCopyNo();
157 G4int MotherReplicaNo2 = theTouchable->GetReplicaNumber(2);
166 G4ThreeVector worldPos = preStepPoint->GetPosition();
171 G4ThreeVector localPos = theTouchable->GetHistory()->GetTopTransform().TransformPoint(worldPos);
176 G4ThreeVector worldMomentum = preStepPoint->GetMomentum();
181 G4ThreeVector localMomentum = theTouchable->GetHistory()->GetTopTransform().TransformPoint(worldMomentum);
189 G4ThreeVector originVertexPosition = aStep->GetTrack()->GetVertexPosition();
190 G4ThreeVector originVertexMomentumDirection = aStep->GetTrack()->GetVertexMomentumDirection();
191 G4double originVertexKineticEnergy = aStep->GetTrack()->GetVertexKineticEnergy();
void StoreOriginVertexKineticEnergy(G4double ekin)
void StoreKineticEnergy(G4double ekin)
QweakSimVDC_WirePlane_HitsCollection * hitsCollection
void StoreParticleType(G4int pt)
void StoreTotalEnergy(G4double etot)
void StoreVDCID(G4int vdc_ID)
void StoreLocalMomentum(G4ThreeVector lpxyz)
void StoreGlobalTime(G4double t)
void EndOfEvent(G4HCofThisEvent *HCE)
void StoreLocalPosition(G4ThreeVector lxyz)
void StoreWirePlaneID(G4int wireplane_ID)
G4THitsCollection< QweakSimVDC_WirePlaneHit > QweakSimVDC_WirePlane_HitsCollection
QweakSimVDC_WirePlaneSD(G4String name)
void StoreWorldMomentum(G4ThreeVector gpxyz)
void StoreWorldPosition(G4ThreeVector gxyz)
void StoreOriginVertexMomentumDirection(G4ThreeVector pxyz)
Handling of a U-WirePlane and/or V-WirePlane Hit of the VDC.
void StoreOriginVertexPosition(G4ThreeVector xyz)
~QweakSimVDC_WirePlaneSD()
void Initialize(G4HCofThisEvent *HCE)
G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROhist)
void StoreParticleName(G4String pn)