Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Attributes
XAluminumElectrodeSensitivity Class Reference

#include <XAluminumElectrodeSensitivity.hh>

Inheritance diagram for XAluminumElectrodeSensitivity:
G4VSensitiveDetector

Public Member Functions

 XAluminumElectrodeSensitivity (G4String)
 
virtual ~XAluminumElectrodeSensitivity ()
 
virtual void Initialize (G4HCofThisEvent *)
 
virtual G4bool ProcessHits (G4Step *, G4TouchableHistory *)
 
virtual void EndOfEvent (G4HCofThisEvent *)
 
XAluminumElectrodeHitsCollectionGetHitsCollection ()
 
- Public Member Functions inherited from G4VSensitiveDetector
 G4VSensitiveDetector (G4String name)
 
 G4VSensitiveDetector (const G4VSensitiveDetector &right)
 
virtual ~G4VSensitiveDetector ()
 
const G4VSensitiveDetectoroperator= (const G4VSensitiveDetector &right)
 
G4int operator== (const G4VSensitiveDetector &right) const
 
G4int operator!= (const G4VSensitiveDetector &right) const
 
virtual void clear ()
 
virtual void DrawAll ()
 
virtual void PrintAll ()
 
G4bool Hit (G4Step *aStep)
 
void SetROgeometry (G4VReadOutGeometry *value)
 
void SetFilter (G4VSDFilter *value)
 
G4int GetNumberOfCollections () const
 
G4String GetCollectionName (G4int id) const
 
void SetVerboseLevel (G4int vl)
 
void Activate (G4bool activeFlag)
 
G4bool isActive () const
 
G4String GetName () const
 
G4String GetPathName () const
 
G4String GetFullPathName () const
 
G4VReadOutGeometryGetROgeometry () const
 
G4VSDFilterGetFilter () const
 
virtual G4VSensitiveDetectorClone () const
 

Static Public Attributes

static
XAluminumElectrodeHitsCollection
fHitsCollection = NULL
 

Additional Inherited Members

- Protected Member Functions inherited from G4VSensitiveDetector
virtual G4int GetCollectionID (G4int i)
 
- Protected Attributes inherited from G4VSensitiveDetector
G4CollectionNameVector collectionName
 
G4String SensitiveDetectorName
 
G4String thePathName
 
G4String fullPathName
 
G4int verboseLevel
 
G4bool active
 
G4VReadOutGeometryROgeometry
 
G4VSDFilterfilter
 

Detailed Description

Definition at line 47 of file XAluminumElectrodeSensitivity.hh.

Constructor & Destructor Documentation

XAluminumElectrodeSensitivity::XAluminumElectrodeSensitivity ( G4String  name)

Definition at line 51 of file XAluminumElectrodeSensitivity.cc.

References G4VSensitiveDetector::collectionName, G4cout, G4endl, and G4CollectionNameVector::insert().

53 {
54  G4String HCname;
55  collectionName.insert(HCname="XAluminumElectrodeHit");
56  fHCID = -1;
57  fWriter.open("caustic.ssv", fstream::out | fstream::ate);
58  fWriter2.open("timing.ssv", fstream::out | fstream::ate);
59 
60  if(!fWriter.is_open()){
61  G4cout<<"\nXAluminumElectrodeSensitivity::Constructor:";
62  G4cout<<"\n\tFailed to open caustic.ssv for appending data.";
63  G4cout<<"\n\tCreating caustic.ssv" << G4endl;
64  fWriter.open("caustic.ssv");
65  }
66 
67  if(!fWriter2.is_open()){
68  G4cout<<"\nXAluminumElectrodeSensitivity::Constructor: ";
69  G4cout<<"\n\tFailed to open timing.ssv for appending data.";
70  G4cout<<"\n\tCreating timing.ssv." << G4endl;
71  fWriter2.open("timing.ssv");
72  }
73 
74  if(!(fWriter.is_open() && fWriter2.is_open())){
75  G4cout<<"\nXAluminumElectrodeSensitivity::Constructor: "
76  <<"\nERROR: COULD NOT CREATE OUTPUT FILES FOR WRITING" << G4endl;
77  }
78 }
G4GLOB_DLL std::ostream G4cout
G4VSensitiveDetector(G4String name)
#define G4endl
Definition: G4ios.hh:61
G4CollectionNameVector collectionName
XAluminumElectrodeSensitivity::~XAluminumElectrodeSensitivity ( )
virtual

Definition at line 82 of file XAluminumElectrodeSensitivity.cc.

82  {
83  fWriter.close();
84  fWriter2.close();
85 }

Member Function Documentation

void XAluminumElectrodeSensitivity::EndOfEvent ( G4HCofThisEvent )
virtual

Reimplemented from G4VSensitiveDetector.

Definition at line 142 of file XAluminumElectrodeSensitivity.cc.

143 {;}
XAluminumElectrodeHitsCollection * XAluminumElectrodeSensitivity::GetHitsCollection ( )

Definition at line 90 of file XAluminumElectrodeSensitivity.cc.

References fHitsCollection.

90  {
91  return fHitsCollection;
92 }
static XAluminumElectrodeHitsCollection * fHitsCollection
void XAluminumElectrodeSensitivity::Initialize ( G4HCofThisEvent HCE)
virtual

Reimplemented from G4VSensitiveDetector.

Definition at line 96 of file XAluminumElectrodeSensitivity.cc.

References G4HCofThisEvent::AddHitsCollection(), G4VSensitiveDetector::collectionName, fHitsCollection, G4SDManager::GetCollectionID(), G4SDManager::GetSDMpointer(), and G4VSensitiveDetector::SensitiveDetectorName.

97 {
100  if(fHCID<0)
103 }
G4int GetCollectionID(G4String colName)
Definition: G4SDManager.cc:131
G4THitsCollection< XAluminumElectrodeHit > XAluminumElectrodeHitsCollection
void AddHitsCollection(G4int HCID, G4VHitsCollection *aHC)
static G4SDManager * GetSDMpointer()
Definition: G4SDManager.cc:40
static XAluminumElectrodeHitsCollection * fHitsCollection
G4CollectionNameVector collectionName
G4bool XAluminumElectrodeSensitivity::ProcessHits ( G4Step aStep,
G4TouchableHistory  
)
virtual

Implements G4VSensitiveDetector.

Definition at line 107 of file XAluminumElectrodeSensitivity.cc.

References python.hepunit::eV, fHitsCollection, XAluminumElectrodeHit::GetEDep(), G4StepPoint::GetGlobalTime(), G4TouchableHistory::GetHistory(), G4Step::GetNonIonizingEnergyDeposit(), G4StepPoint::GetPosition(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4NavigationHistory::GetTopTransform(), G4StepPoint::GetTouchable(), CLHEP::Hep3Vector::getX(), CLHEP::Hep3Vector::getY(), CLHEP::Hep3Vector::getZ(), G4THitsCollection< T >::insert(), python.hepunit::mm, ns, XAluminumElectrodeHit::SetEDep(), XAluminumElectrodeHit::SetLocalPos(), XAluminumElectrodeHit::SetTime(), XAluminumElectrodeHit::SetWorldPos(), and G4AffineTransform::TransformPoint().

109 {
110  //if(aStep->GetTrack()->GetDefinition()!=Phonon::PhononDefinition()) return true;
111  G4double edp = aStep->GetNonIonizingEnergyDeposit();
112  if(edp==0.) return true;
113 
114  G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
115  G4StepPoint* postStepPoint = aStep->GetPostStepPoint();
116  G4TouchableHistory* theTouchable
117  = (G4TouchableHistory*)(preStepPoint->GetTouchable());
118  G4ThreeVector fWorldPos = postStepPoint->GetPosition();
119  G4ThreeVector fLocalPos
120  = theTouchable->GetHistory()->GetTopTransform().TransformPoint(fWorldPos);
121 
123  aHit->SetTime(postStepPoint->GetGlobalTime());
124  aHit->SetEDep(edp);
125  aHit->SetWorldPos(fWorldPos);
126  aHit->SetLocalPos(fLocalPos);
127 
128  fHitsCollection->insert(aHit);
129 
130  fWriter<<"\n"<<fWorldPos.getX()/mm
131  <<","<<fWorldPos.getY()/mm
132  <<","<<fWorldPos.getZ()/mm;
133 
134  fWriter2<<"\n"<<postStepPoint->GetGlobalTime()/ns<<" "
135  <<aHit->GetEDep()/eV;
136 
137  return true;
138 }
void SetWorldPos(G4ThreeVector xyz)
void SetLocalPos(G4ThreeVector xyz)
G4double GetNonIonizingEnergyDeposit() const
double getY() const
const G4VTouchable * GetTouchable() const
G4StepPoint * GetPreStepPoint() const
double getX() const
const G4ThreeVector & GetPosition() const
G4ThreeVector TransformPoint(const G4ThreeVector &vec) const
G4StepPoint * GetPostStepPoint() const
double getZ() const
static XAluminumElectrodeHitsCollection * fHitsCollection
G4double GetGlobalTime() const
const G4AffineTransform & GetTopTransform() const
const G4NavigationHistory * GetHistory() const
double G4double
Definition: G4Types.hh:76
#define ns
Definition: xmlparse.cc:597

Field Documentation

XAluminumElectrodeHitsCollection * XAluminumElectrodeSensitivity::fHitsCollection = NULL
static

Definition at line 59 of file XAluminumElectrodeSensitivity.hh.

Referenced by GetHitsCollection(), Initialize(), and ProcessHits().


The documentation for this class was generated from the following files: