#include <MollerDetectorHit.hh>
Public Member Functions | |
MollerDetectorHit () | |
MollerDetectorHit (G4int z) | |
virtual | ~MollerDetectorHit () |
MollerDetectorHit (const MollerDetectorHit &right) | |
const MollerDetectorHit & | operator= (const MollerDetectorHit &right) |
int | operator== (const MollerDetectorHit &right) const |
void * | operator new (size_t) |
void | operator delete (void *aHit) |
virtual void | Draw () |
virtual const std::map < G4String, G4AttDef > * | GetAttDefs () const |
virtual std::vector< G4AttValue > * | CreateAttValues () const |
virtual void | Print () |
void | SetLayerID (G4int z) |
G4int | GetLayerID () const |
void | SetTrackID (G4int id) |
G4int | GetTrackID () const |
void | SetWorldPos (G4ThreeVector xyz) |
G4ThreeVector | GetWorldPos () const |
void | SetVertexPos (G4ThreeVector xyz) |
G4ThreeVector | GetVertexPos () const |
void | SetMomentum (G4ThreeVector xyz) |
G4ThreeVector | GetMomentum () const |
void | SetKineticEnergy (G4double e) |
G4double | GetKineticEnergy () |
void | SetMomentum0 (G4ThreeVector xyz) |
G4ThreeVector | GetMomentum0 () const |
void | SetMomentum1 (G4ThreeVector xyz) |
G4ThreeVector | GetMomentum1 () const |
void | SetMomentum2 (G4ThreeVector xyz) |
G4ThreeVector | GetMomentum2 () const |
void | SetKineticEnergy0 (G4double e) |
G4double | GetKineticEnergy0 () |
void | SetKineticEnergy1 (G4double e) |
G4double | GetKineticEnergy1 () |
void | SetKineticEnergy2 (G4double e) |
G4double | GetKineticEnergy2 () |
void | SetScatAngle (G4double ang) |
G4double | GetScatAngle () |
void | SetCreatorProcess (G4String creator) |
G4String | GetCreatorProcess () const |
void | SetParticleName (G4String name) |
G4String | GetParticleName () const |
void | SetIon (G4bool i) |
G4bool | GetIon () const |
void | SetType (G4int i) |
G4int | GetType () const |
void | SetVolume (G4double i) |
G4double | GetVolume () const |
Private Attributes | |
G4int | layerID |
G4int | partType |
G4int | trackID |
G4double | kineE |
G4double | kineE0 |
G4double | kineE1 |
G4double | kineE2 |
G4double | volume |
G4double | scat_ang |
G4ThreeVector | worldPos |
G4ThreeVector | vertexPos |
G4ThreeVector | momentum |
G4ThreeVector | p0 |
G4ThreeVector | p1 |
G4ThreeVector | p2 |
G4String | creatorProcess |
G4String | particleName |
G4bool | ion |
Definition at line 19 of file MollerDetectorHit.hh.
MollerDetectorHit::MollerDetectorHit | ( | ) |
Definition at line 22 of file MollerDetectorHit.cc.
References creatorProcess, ion, kineE, kineE0, layerID, particleName, trackID, vertexPos, and worldPos.
00023 { 00024 layerID = -1; 00025 trackID = -1; 00026 00027 worldPos = G4ThreeVector(0,0,0); 00028 vertexPos = G4ThreeVector(0,0,0); 00029 00030 kineE=0; 00031 kineE0=0; 00032 00033 creatorProcess = ""; 00034 particleName = ""; 00035 ion = 0; 00036 }
MollerDetectorHit::MollerDetectorHit | ( | G4int | z | ) |
Definition at line 38 of file MollerDetectorHit.cc.
References creatorProcess, ion, kineE, kineE0, layerID, particleName, trackID, vertexPos, and worldPos.
00039 { 00040 layerID = z; 00041 trackID = -1; 00042 00043 worldPos = G4ThreeVector(0,0,0); 00044 vertexPos = G4ThreeVector(0,0,0); 00045 00046 kineE=0; 00047 kineE0=0; 00048 00049 creatorProcess = ""; 00050 particleName = ""; 00051 ion = 0; 00052 }
MollerDetectorHit::~MollerDetectorHit | ( | ) | [virtual] |
Definition at line 54 of file MollerDetectorHit.cc.
MollerDetectorHit::MollerDetectorHit | ( | const MollerDetectorHit & | right | ) |
Definition at line 57 of file MollerDetectorHit.cc.
References creatorProcess, ion, kineE, kineE0, layerID, particleName, trackID, vertexPos, and worldPos.
00058 : G4VHit() 00059 { 00060 00061 layerID = right.layerID; 00062 trackID = right.trackID; 00063 worldPos = right.worldPos; 00064 vertexPos = right.vertexPos; 00065 00066 kineE=right.kineE; 00067 kineE0=right.kineE0; 00068 00069 creatorProcess = right.creatorProcess; 00070 particleName = right.particleName; 00071 ion = right.ion; 00072 }
std::vector< G4AttValue > * MollerDetectorHit::CreateAttValues | ( | ) | const [virtual] |
Definition at line 149 of file MollerDetectorHit.cc.
References creatorProcess, ion, layerID, particleName, trackID, and worldPos.
00150 { 00151 std::vector<G4AttValue>* values = new std::vector<G4AttValue>; 00152 00153 values->push_back(G4AttValue("HitType","MolleDetectorHit","")); 00154 00155 values->push_back 00156 (G4AttValue("ID",G4UIcommand::ConvertToString(layerID),"")); 00157 00158 values->push_back 00159 (G4AttValue("trackID",G4UIcommand::ConvertToString(trackID),"")); 00160 00161 values->push_back 00162 (G4AttValue("Pos",G4BestUnit(worldPos,"Length"),"")); 00163 00164 values->push_back 00165 (G4AttValue("Creator",creatorProcess,"")); 00166 00167 values->push_back 00168 (G4AttValue("Name",particleName,"")); 00169 00170 values->push_back 00171 (G4AttValue("Ion",ion,"")); 00172 00173 return values; 00174 00175 }
void MollerDetectorHit::Draw | ( | ) | [virtual] |
Definition at line 99 of file MollerDetectorHit.cc.
References worldPos.
00100 { 00101 G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); 00102 if(pVVisManager) 00103 { 00104 G4Circle circle(worldPos); 00105 circle.SetScreenSize(0.04); 00106 circle.SetFillStyle(G4Circle::filled); 00107 G4Colour colour(1.,0.,0.); 00108 G4VisAttributes attribs(colour); 00109 circle.SetVisAttributes(attribs); 00110 pVVisManager->Draw(circle); 00111 } 00112 }
const std::map< G4String, G4AttDef > * MollerDetectorHit::GetAttDefs | ( | ) | const [virtual] |
Definition at line 114 of file MollerDetectorHit.cc.
References trackID.
00115 { 00116 G4bool isNew; 00117 std::map<G4String,G4AttDef>* store 00118 = G4AttDefStore::GetInstance("MollerDetectorHit",isNew); 00119 00120 if (isNew) { 00121 G4String HitType("HitType"); 00122 (*store)[HitType] = G4AttDef(HitType,"Hit Type","Physics","","G4String"); 00123 00124 G4String ID("ID"); 00125 (*store)[ID] = G4AttDef(ID,"ID","Physics","","G4int"); 00126 00127 G4String trackID("trackID"); 00128 (*store)[trackID] = G4AttDef(trackID,"trackID","Physics","","G4int"); 00129 00130 G4String Pos("Pos"); 00131 (*store)[Pos] = G4AttDef(Pos, "Position", 00132 "Physics","G4BestUnit","G4ThreeVector"); 00133 00134 G4String Creator("Creator"); 00135 (*store)[Creator] = G4AttDef(Creator, "CreatorProcess", 00136 "Physics","","G4String"); 00137 00138 G4String Name("Name"); 00139 (*store)[Name] = G4AttDef(Name, "ParticleName", 00140 "Physics","","G4String"); 00141 00142 G4String Ion("Ion"); 00143 (*store)[Ion] = G4AttDef(Ion, "IsMoller", 00144 "Physics","","G4bool"); 00145 } 00146 return store; 00147 }
G4String MollerDetectorHit::GetCreatorProcess | ( | ) | const [inline] |
Definition at line 108 of file MollerDetectorHit.hh.
References creatorProcess.
00109 { return creatorProcess; }
G4bool MollerDetectorHit::GetIon | ( | ) | const [inline] |
Definition at line 117 of file MollerDetectorHit.hh.
References ion.
Referenced by MollerAnalysis::AddData().
00118 { return ion; }
G4double MollerDetectorHit::GetKineticEnergy | ( | ) | [inline] |
Definition at line 71 of file MollerDetectorHit.hh.
References kineE.
Referenced by MollerAnalysis::AddData().
00072 { return kineE; }
G4double MollerDetectorHit::GetKineticEnergy0 | ( | ) | [inline] |
G4double MollerDetectorHit::GetKineticEnergy1 | ( | ) | [inline] |
G4double MollerDetectorHit::GetKineticEnergy2 | ( | ) | [inline] |
G4int MollerDetectorHit::GetLayerID | ( | ) | const [inline] |
G4ThreeVector MollerDetectorHit::GetMomentum | ( | ) | const [inline] |
Definition at line 67 of file MollerDetectorHit.hh.
References momentum.
Referenced by MollerAnalysis::AddData().
00068 { return momentum; }
G4ThreeVector MollerDetectorHit::GetMomentum0 | ( | ) | const [inline] |
G4ThreeVector MollerDetectorHit::GetMomentum1 | ( | ) | const [inline] |
G4ThreeVector MollerDetectorHit::GetMomentum2 | ( | ) | const [inline] |
G4String MollerDetectorHit::GetParticleName | ( | ) | const [inline] |
Definition at line 112 of file MollerDetectorHit.hh.
References particleName.
00113 { return particleName; }
G4double MollerDetectorHit::GetScatAngle | ( | ) | [inline] |
Definition at line 103 of file MollerDetectorHit.hh.
References scat_ang.
00104 { return scat_ang; }
G4int MollerDetectorHit::GetTrackID | ( | ) | const [inline] |
Definition at line 53 of file MollerDetectorHit.hh.
References trackID.
Referenced by MollerAnalysis::AddData(), and MollerAnalysis::EndOfEventAction().
00054 { return trackID; }
G4int MollerDetectorHit::GetType | ( | ) | const [inline] |
Definition at line 121 of file MollerDetectorHit.hh.
References partType.
Referenced by MollerAnalysis::AddData(), and MollerAnalysis::EndOfEventAction().
00122 { return partType; }
G4ThreeVector MollerDetectorHit::GetVertexPos | ( | ) | const [inline] |
Definition at line 62 of file MollerDetectorHit.hh.
References vertexPos.
Referenced by MollerAnalysis::AddData().
00063 { return vertexPos; }
G4double MollerDetectorHit::GetVolume | ( | ) | const [inline] |
Definition at line 125 of file MollerDetectorHit.hh.
References volume.
Referenced by MollerAnalysis::AddData().
00126 { return volume; }
G4ThreeVector MollerDetectorHit::GetWorldPos | ( | ) | const [inline] |
Definition at line 58 of file MollerDetectorHit.hh.
References worldPos.
Referenced by MollerAnalysis::AddData().
00059 { return worldPos; }
void MollerDetectorHit::operator delete | ( | void * | aHit | ) | [inline] |
Definition at line 165 of file MollerDetectorHit.hh.
References MollerDetectorHitAllocator.
00166 { 00167 MollerDetectorHitAllocator.FreeSingle((MollerDetectorHit*) aHit); 00168 }
void * MollerDetectorHit::operator new | ( | size_t | ) | [inline] |
Definition at line 158 of file MollerDetectorHit.hh.
References MollerDetectorHitAllocator.
00159 { 00160 void *aHit; 00161 aHit = (void *) MollerDetectorHitAllocator.MallocSingle(); 00162 return aHit; 00163 }
const MollerDetectorHit & MollerDetectorHit::operator= | ( | const MollerDetectorHit & | right | ) |
Definition at line 74 of file MollerDetectorHit.cc.
References creatorProcess, ion, kineE, kineE0, layerID, particleName, trackID, vertexPos, and worldPos.
00075 { 00076 00077 layerID = right.layerID; 00078 trackID = right.trackID; 00079 worldPos = right.worldPos; 00080 vertexPos = right.vertexPos; 00081 00082 kineE=right.kineE; 00083 kineE0=right.kineE0; 00084 00085 creatorProcess = right.creatorProcess; 00086 particleName = right.particleName; 00087 ion = right.ion; 00088 00089 return *this; 00090 }
int MollerDetectorHit::operator== | ( | const MollerDetectorHit & | right | ) | const |
Definition at line 92 of file MollerDetectorHit.cc.
void MollerDetectorHit::Print | ( | ) | [virtual] |
Definition at line 177 of file MollerDetectorHit.cc.
References creatorProcess, kineE, kineE0, layerID, particleName, vertexPos, and worldPos.
00178 { 00179 G4cout << " Layer[" << layerID << "] : Particle type: " << particleName 00180 << " created by " << creatorProcess << " \nat (x,y,z) " 00181 << vertexPos.x() << ", " << vertexPos.y() << ", " << vertexPos.z() 00182 << " with KineE0= " << kineE0/GeV << "[GeV]" 00183 << " hit detector \nat (x,y,z) " << worldPos.x() 00184 << ", " << worldPos.y() << ", " << worldPos.z() 00185 << " with KineE= " << kineE/GeV << "[GeV]\n" 00186 << G4endl; 00187 }
void MollerDetectorHit::SetCreatorProcess | ( | G4String | creator | ) | [inline] |
Definition at line 106 of file MollerDetectorHit.hh.
References creatorProcess.
Referenced by MollerDetectorSD::ProcessHits().
00107 { creatorProcess = creator; }
void MollerDetectorHit::SetIon | ( | G4bool | i | ) | [inline] |
Definition at line 115 of file MollerDetectorHit.hh.
References ion.
Referenced by MollerDetectorSD::ProcessHits().
00116 { ion = i; }
void MollerDetectorHit::SetKineticEnergy | ( | G4double | e | ) | [inline] |
Definition at line 69 of file MollerDetectorHit.hh.
References kineE.
Referenced by MollerDetectorSD::ProcessHits().
00070 { kineE = e; }
void MollerDetectorHit::SetKineticEnergy0 | ( | G4double | e | ) | [inline] |
void MollerDetectorHit::SetKineticEnergy1 | ( | G4double | e | ) | [inline] |
void MollerDetectorHit::SetKineticEnergy2 | ( | G4double | e | ) | [inline] |
Definition at line 96 of file MollerDetectorHit.hh.
References kineE2.
Referenced by MollerDetectorSD::ProcessHits().
00097 { kineE2 = e; }
void MollerDetectorHit::SetLayerID | ( | G4int | z | ) | [inline] |
void MollerDetectorHit::SetMomentum | ( | G4ThreeVector | xyz | ) | [inline] |
Definition at line 65 of file MollerDetectorHit.hh.
References momentum.
Referenced by MollerDetectorSD::ProcessHits().
00066 { momentum = xyz; }
void MollerDetectorHit::SetMomentum0 | ( | G4ThreeVector | xyz | ) | [inline] |
void MollerDetectorHit::SetMomentum1 | ( | G4ThreeVector | xyz | ) | [inline] |
void MollerDetectorHit::SetMomentum2 | ( | G4ThreeVector | xyz | ) | [inline] |
Definition at line 83 of file MollerDetectorHit.hh.
References p2.
Referenced by MollerDetectorSD::ProcessHits().
00084 { p2 = xyz; }
void MollerDetectorHit::SetParticleName | ( | G4String | name | ) | [inline] |
Definition at line 110 of file MollerDetectorHit.hh.
References particleName.
Referenced by MollerDetectorSD::ProcessHits().
00111 { particleName = name; }
void MollerDetectorHit::SetScatAngle | ( | G4double | ang | ) | [inline] |
Definition at line 101 of file MollerDetectorHit.hh.
References scat_ang.
Referenced by MollerDetectorSD::ProcessHits().
00102 { scat_ang = ang; }
void MollerDetectorHit::SetTrackID | ( | G4int | id | ) | [inline] |
Definition at line 51 of file MollerDetectorHit.hh.
References trackID.
Referenced by MollerDetectorSD::ProcessHits().
00052 { trackID = id; }
void MollerDetectorHit::SetType | ( | G4int | i | ) | [inline] |
Definition at line 119 of file MollerDetectorHit.hh.
References partType.
Referenced by MollerDetectorSD::ProcessHits().
00120 { partType = i; }
void MollerDetectorHit::SetVertexPos | ( | G4ThreeVector | xyz | ) | [inline] |
Definition at line 60 of file MollerDetectorHit.hh.
References vertexPos.
Referenced by MollerDetectorSD::ProcessHits().
00061 { vertexPos = xyz; }
void MollerDetectorHit::SetVolume | ( | G4double | i | ) | [inline] |
Definition at line 123 of file MollerDetectorHit.hh.
References volume.
Referenced by MollerDetectorSD::ProcessHits().
00124 { volume = i; }
void MollerDetectorHit::SetWorldPos | ( | G4ThreeVector | xyz | ) | [inline] |
Definition at line 56 of file MollerDetectorHit.hh.
References worldPos.
Referenced by MollerDetectorSD::ProcessHits().
00057 { worldPos = xyz; }
G4String MollerDetectorHit::creatorProcess [private] |
Definition at line 144 of file MollerDetectorHit.hh.
Referenced by CreateAttValues(), GetCreatorProcess(), MollerDetectorHit(), operator=(), Print(), and SetCreatorProcess().
G4bool MollerDetectorHit::ion [private] |
Definition at line 146 of file MollerDetectorHit.hh.
Referenced by CreateAttValues(), GetIon(), MollerDetectorHit(), operator=(), and SetIon().
G4double MollerDetectorHit::kineE [private] |
Definition at line 132 of file MollerDetectorHit.hh.
Referenced by GetKineticEnergy(), MollerDetectorHit(), operator=(), Print(), and SetKineticEnergy().
G4double MollerDetectorHit::kineE0 [private] |
Definition at line 132 of file MollerDetectorHit.hh.
Referenced by GetKineticEnergy0(), MollerDetectorHit(), operator=(), Print(), and SetKineticEnergy0().
G4double MollerDetectorHit::kineE1 [private] |
Definition at line 132 of file MollerDetectorHit.hh.
Referenced by GetKineticEnergy1(), and SetKineticEnergy1().
G4double MollerDetectorHit::kineE2 [private] |
Definition at line 132 of file MollerDetectorHit.hh.
Referenced by GetKineticEnergy2(), and SetKineticEnergy2().
G4int MollerDetectorHit::layerID [private] |
Definition at line 130 of file MollerDetectorHit.hh.
Referenced by CreateAttValues(), GetLayerID(), MollerDetectorHit(), operator=(), Print(), and SetLayerID().
G4ThreeVector MollerDetectorHit::momentum [private] |
Definition at line 137 of file MollerDetectorHit.hh.
Referenced by GetMomentum(), and SetMomentum().
G4ThreeVector MollerDetectorHit::p0 [private] |
Definition at line 139 of file MollerDetectorHit.hh.
Referenced by GetMomentum0(), and SetMomentum0().
G4ThreeVector MollerDetectorHit::p1 [private] |
Definition at line 140 of file MollerDetectorHit.hh.
Referenced by GetMomentum1(), and SetMomentum1().
G4ThreeVector MollerDetectorHit::p2 [private] |
Definition at line 141 of file MollerDetectorHit.hh.
Referenced by GetMomentum2(), and SetMomentum2().
G4String MollerDetectorHit::particleName [private] |
Definition at line 145 of file MollerDetectorHit.hh.
Referenced by CreateAttValues(), GetParticleName(), MollerDetectorHit(), operator=(), Print(), and SetParticleName().
G4int MollerDetectorHit::partType [private] |
Definition at line 130 of file MollerDetectorHit.hh.
G4double MollerDetectorHit::scat_ang [private] |
Definition at line 132 of file MollerDetectorHit.hh.
Referenced by GetScatAngle(), and SetScatAngle().
G4int MollerDetectorHit::trackID [private] |
Definition at line 130 of file MollerDetectorHit.hh.
Referenced by CreateAttValues(), GetAttDefs(), GetTrackID(), MollerDetectorHit(), operator=(), and SetTrackID().
G4ThreeVector MollerDetectorHit::vertexPos [private] |
Definition at line 135 of file MollerDetectorHit.hh.
Referenced by GetVertexPos(), MollerDetectorHit(), operator=(), Print(), and SetVertexPos().
G4double MollerDetectorHit::volume [private] |
Definition at line 132 of file MollerDetectorHit.hh.
Referenced by GetVolume(), and SetVolume().
G4ThreeVector MollerDetectorHit::worldPos [private] |
Definition at line 134 of file MollerDetectorHit.hh.
Referenced by CreateAttValues(), Draw(), GetWorldPos(), MollerDetectorHit(), operator=(), Print(), and SetWorldPos().