51 ,fPMTPositionsY(0),fPMTPositionsZ(0)
64 for (
G4int i=0; i<
G4int(positions.size()); ++i) {
65 if(fPMTPositionsX)fPMTPositionsX->push_back(positions[i].
x());
66 if(fPMTPositionsY)fPMTPositionsY->push_back(positions[i].y());
67 if(fPMTPositionsZ)fPMTPositionsZ->push_back(positions[i].
z());
77 static G4int hitCID = -1;
114 if((*fPMTHitCollection)[i]->GetPMTNumber()==pmtNumber){
115 hit=(*fPMTHitCollection)[i];
124 fPMTHitCollection->
insert(hit);
125 hit->
SetPMTPos((*fPMTPositionsX)[pmtNumber],(*fPMTPositionsY)[pmtNumber],
126 (*fPMTPositionsZ)[pmtNumber]);
G4String SensitiveDetectorName
G4ParticleDefinition * GetDefinition() const
virtual void Initialize(G4HCofThisEvent *)
virtual void EndOfEvent(G4HCofThisEvent *)
void SetPMTNumber(G4int n)
Definition of the LXeDetectorConstruction class.
const G4VTouchable * GetTouchable() const
G4bool ProcessHits_constStep(const G4Step *, G4TouchableHistory *)
virtual G4int GetCollectionID(G4int i)
G4VUserTrackInformation * GetUserInformation() const
virtual G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *)
Definition of the LXePMTSD class.
void insert(G4String str)
static G4bool GetSphereOn()
Definition of the LXePMTHit class.
void AddHitsCollection(G4int HCID, G4VHitsCollection *aHC)
void SetPmtPositions(const std::vector< G4ThreeVector > &positions)
void SetPMTPhysVol(G4VPhysicalVolume *physVol)
G4THitsCollection< LXePMTHit > LXePMTHitsCollection
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const
G4StepPoint * GetPostStepPoint() const
virtual G4int GetReplicaNumber(G4int depth=0) const
void SetPMTPos(G4double x, G4double y, G4double z)
G4CollectionNameVector collectionName
static G4OpticalPhoton * OpticalPhotonDefinition()
G4Track * GetTrack() const