31 :G4VSensitiveDetector(name)
35 collectionName.insert(
"GEMWirePlaneCollection");
56 HCID = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]);
69 G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge();
74 if(charge==0.)
return false;
77 G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
78 G4StepPoint* postStepPoint = aStep->GetPreStepPoint();
79 G4TouchableHistory* theTouchable = (G4TouchableHistory*)(preStepPoint->GetTouchable());
80 G4VPhysicalVolume* physVol = theTouchable->GetVolume();
83 if (postStepPoint->GetStepStatus() != fGeomBoundary) {
95 if(strcmp(physVol->GetName(),
"GEM_AnodeCopperLayer_Physical") == 0 ) {
110 G4int WirePlaneCopyNo = theTouchable->GetVolume()->GetCopyNo();
119 G4int MotherCopyNo3 = theTouchable->GetVolume(3)->GetCopyNo();
129 G4ThreeVector worldPos = preStepPoint->GetPosition();
134 G4ThreeVector localPos = theTouchable->GetHistory()->GetTopTransform().TransformPoint(worldPos);
139 G4ThreeVector worldMomentum = preStepPoint->GetMomentum();
144 G4ThreeVector localMomentum = theTouchable->GetHistory()->GetTopTransform().TransformPoint(worldMomentum);
149 G4double currentKineticEnergy = preStepPoint->GetKineticEnergy();
150 G4double currentTotalEnergy = preStepPoint->GetTotalEnergy();
153 G4ThreeVector originVertexPosition = aStep->GetTrack()->GetVertexPosition();
154 G4ThreeVector originVertexMomentumDirection = aStep->GetTrack()->GetVertexMomentumDirection();
155 G4double originVertexKineticEnergy = aStep->GetTrack()->GetVertexKineticEnergy();
G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROhist)
void StoreOriginVertexKineticEnergy(G4double ekin)
QweakSimGEM_WirePlane_HitsCollection * hitsCollection
~QweakSimGEM_WirePlaneSD()
G4THitsCollection< QweakSimGEM_WirePlaneHit > QweakSimGEM_WirePlane_HitsCollection
void EndOfEvent(G4HCofThisEvent *HCE)
void StoreGlobalTime(G4double t)
void StoreWorldPosition(G4ThreeVector gxyz)
void StoreWirePlaneID(G4int wireplane_ID)
void StoreLocalPosition(G4ThreeVector lxyz)
void Initialize(G4HCofThisEvent *HCE)
void StoreLocalMomentum(G4ThreeVector lpxyz)
void StoreTotalEnergy(G4double etot)
void StoreOriginVertexMomentumDirection(G4ThreeVector pxyz)
Handling of a Readoutplane Hit of the GEM detector (I know there is no wire plane ...
void StoreWorldMomentum(G4ThreeVector gpxyz)
void StoreOriginVertexPosition(G4ThreeVector xyz)
QweakSimGEM_WirePlaneSD(G4String name)
void StoreKineticEnergy(G4double ekin)
void StoreGEMID(G4int GEM_ID)