33#include "G4AutoLock.hh"
34#include "G4HCofThisEvent.hh"
35#include "G4Navigator.hh"
36#include "G4SDManager.hh"
38#include "G4SystemOfUnits.hh"
39#include "G4Threading.hh"
40#include "G4TouchableHistory.hh"
55 collectionName.insert(
"XAluminumElectrodeHit");
59 fWriter =
new std::fstream(
"caustic.ssv",std::fstream::out|std::fstream::ate);
61 G4cerr <<
"XAluminumElectrodeSensitivity::Constructor:"
62 <<
"\n\tFailed to open caustic.ssv for appending data."
63 <<
"\n\tCreating caustic.ssv" << G4endl;
67 fWriter2 =
new std::fstream(
"timing.ssv",std::fstream::out|std::fstream::ate);
69 G4cerr <<
"XAluminumElectrodeSensitivity::Constructor: "
70 <<
"\n\tFailed to open timing.ssv for appending data."
71 <<
"\n\tCreating timing.ssv." << G4endl;
76 G4cerr <<
"XAluminumElectrodeSensitivity::Constructor: "
77 <<
"\nERROR: COULD NOT CREATE OUTPUT FILES FOR WRITING" << G4endl;
122 G4double edp = aStep->GetNonIonizingEnergyDeposit();
123 if(edp==0.)
return true;
125 G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
126 G4StepPoint* postStepPoint = aStep->GetPostStepPoint();
129 G4ThreeVector fWorldPos = postStepPoint->GetPosition();
130 G4ThreeVector fLocalPos
131 = theTouchable->GetHistory()->GetTopTransform().TransformPoint(fWorldPos);
134 aHit->
fTime = postStepPoint->GetGlobalTime();
Definition of the XAluminumElectrodeHit class.
G4THitsCollection< XAluminumElectrodeHit > XAluminumElectrodeHitsCollection
Definition of the XAluminumElectrodeSensitivity class.
static std::fstream * fWriter
XAluminumElectrodeSensitivity(const G4String &)
virtual void EndOfEvent(G4HCofThisEvent *)
XAluminumElectrodeHitsCollection * fHitsCollection
void WriteHitInfo(const XAluminumElectrodeHit *aHit)
XAluminumElectrodeHitsCollection * GetHitsCollection()
static std::fstream * fWriter2
virtual ~XAluminumElectrodeSensitivity()
virtual void Initialize(G4HCofThisEvent *)
virtual G4bool ProcessHits(G4Step *, G4TouchableHistory *)