Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
RE04Trajectory Class Reference

User trajectory class. More...

#include <Doxymodules_runAndEvent.h>

Inheritance diagram for RE04Trajectory:
G4VTrajectory

Public Member Functions

 RE04Trajectory ()
 
 RE04Trajectory (const G4Track *aTrack)
 
 RE04Trajectory (RE04Trajectory &)
 
virtual ~RE04Trajectory ()
 
void * operator new (size_t)
 
void operator delete (void *)
 
int operator== (const RE04Trajectory &right) const
 
virtual G4int GetTrackID () const
 
virtual G4int GetParentID () const
 
virtual G4String GetParticleName () const
 
virtual G4double GetCharge () const
 
virtual G4int GetPDGEncoding () const
 
virtual G4double GetInitialKineticEnergy () const
 
virtual G4ThreeVector GetInitialMomentum () const
 
virtual void ShowTrajectory (std::ostream &os=G4cout) const
 
virtual void DrawTrajectory () const
 
virtual void AppendStep (const G4Step *aStep)
 
virtual int GetPointEntries () const
 
virtual G4VTrajectoryPointGetPoint (G4int i) const
 
virtual void MergeTrajectory (G4VTrajectory *secondTrajectory)
 
G4ParticleDefinitionGetParticleDefinition ()
 
virtual const std::map< G4String, G4AttDef > * GetAttDefs () const
 
virtual std::vector< G4AttValue > * CreateAttValues () const
 

Private Attributes

TrajectoryPointContainerfPositionRecord
 
G4int fTrackID
 
G4int fParentID
 
G4int fPDGEncoding
 
G4double fPDGCharge
 
G4String fParticleName
 
G4double fInitialKineticEnergy
 
G4ThreeVector fInitialMomentum
 

Detailed Description

User trajectory class.

Definition at line 91 of file Doxymodules_runAndEvent.h.

Constructor & Destructor Documentation

◆ RE04Trajectory() [1/3]

RE04Trajectory::RE04Trajectory ( )

Definition at line 47 of file RE04Trajectory.cc.

51 fInitialKineticEnergy( 0. ), fInitialMomentum( G4ThreeVector() )
52{;}
G4double fInitialKineticEnergy
TrajectoryPointContainer * fPositionRecord
G4ThreeVector fInitialMomentum

◆ RE04Trajectory() [2/3]

RE04Trajectory::RE04Trajectory ( const G4Track aTrack)

Definition at line 55 of file RE04Trajectory.cc.

56{
57 G4ParticleDefinition * fpParticleDefinition = aTrack->GetDefinition();
58 fParticleName = fpParticleDefinition->GetParticleName();
59 fPDGCharge = fpParticleDefinition->GetPDGCharge();
60 fPDGEncoding = fpParticleDefinition->GetPDGEncoding();
61 fTrackID = aTrack->GetTrackID();
62 fParentID = aTrack->GetParentID();
63 fInitialKineticEnergy = aTrack->GetKineticEnergy();
64 fInitialMomentum = aTrack->GetMomentum();
66 // Following is for the first trajectory point
68 aTrack->GetPosition(),aTrack->GetMaterial()));
69}
std::vector< G4VTrajectoryPoint * > TrajectoryPointContainer
Trajectory point class.

◆ RE04Trajectory() [3/3]

RE04Trajectory::RE04Trajectory ( RE04Trajectory right)

Definition at line 72 of file RE04Trajectory.cc.

73{
74 fParticleName = right.fParticleName;
75 fPDGCharge = right.fPDGCharge;
76 fPDGEncoding = right.fPDGEncoding;
77 fTrackID = right.fTrackID;
78 fParentID = right.fParentID;
79 fInitialKineticEnergy = right.fInitialKineticEnergy;
80 fInitialMomentum = right.fInitialMomentum;
82
83 for(size_t i=0;i<right.fPositionRecord->size();i++)
84 {
85 RE04TrajectoryPoint* rightPoint
86 = (RE04TrajectoryPoint*)((*(right.fPositionRecord))[i]);
87 fPositionRecord->push_back(new RE04TrajectoryPoint(*rightPoint));
88 }
89}

◆ ~RE04Trajectory()

RE04Trajectory::~RE04Trajectory ( )
virtual

Definition at line 92 of file RE04Trajectory.cc.

93{
94 if (fPositionRecord) {
95 // fPositionRecord->clearAndDestroy();
96 size_t i;
97 for(i=0;i<fPositionRecord->size();i++){
98 delete (*fPositionRecord)[i];
99 }
100 fPositionRecord->clear();
101 delete fPositionRecord;
102 }
103}

Member Function Documentation

◆ operator new()

void * RE04Trajectory::operator new ( size_t  )
inline

Definition at line 159 of file RE04Trajectory.hh.

160{
162 return (void*)faTrajAllocator->MallocSingle();
163}
G4ThreadLocal G4Allocator< RE04Trajectory > * faTrajAllocator

◆ operator delete()

void RE04Trajectory::operator delete ( void *  aTrajectory)
inline

Definition at line 165 of file RE04Trajectory.hh.

166{
167 faTrajAllocator->FreeSingle((RE04Trajectory*)aTrajectory);
168}
User trajectory class.

◆ operator==()

int RE04Trajectory::operator== ( const RE04Trajectory right) const
inline

Definition at line 108 of file RE04Trajectory.hh.

109 {return (this==&right);}

◆ GetTrackID()

virtual G4int RE04Trajectory::GetTrackID ( ) const
inlinevirtual

Definition at line 112 of file RE04Trajectory.hh.

113 { return fTrackID; }

◆ GetParentID()

virtual G4int RE04Trajectory::GetParentID ( ) const
inlinevirtual

Definition at line 114 of file RE04Trajectory.hh.

115 { return fParentID; }

◆ GetParticleName()

virtual G4String RE04Trajectory::GetParticleName ( ) const
inlinevirtual

Definition at line 116 of file RE04Trajectory.hh.

117 { return fParticleName; }

◆ GetCharge()

virtual G4double RE04Trajectory::GetCharge ( ) const
inlinevirtual

Definition at line 118 of file RE04Trajectory.hh.

119 { return fPDGCharge; }

◆ GetPDGEncoding()

virtual G4int RE04Trajectory::GetPDGEncoding ( ) const
inlinevirtual

Definition at line 120 of file RE04Trajectory.hh.

121 { return fPDGEncoding; }

◆ GetInitialKineticEnergy()

virtual G4double RE04Trajectory::GetInitialKineticEnergy ( ) const
inlinevirtual

Definition at line 122 of file RE04Trajectory.hh.

123 { return fInitialKineticEnergy; }

◆ GetInitialMomentum()

virtual G4ThreeVector RE04Trajectory::GetInitialMomentum ( ) const
inlinevirtual

Definition at line 124 of file RE04Trajectory.hh.

125 { return fInitialMomentum; }

◆ ShowTrajectory()

void RE04Trajectory::ShowTrajectory ( std::ostream &  os = G4cout) const
virtual

Definition at line 106 of file RE04Trajectory.cc.

107{
108 // Invoke the default implementation in G4VTrajectory...
109 G4VTrajectory::ShowTrajectory(os);
110 // ... or override with your own code here.
111}

◆ DrawTrajectory()

void RE04Trajectory::DrawTrajectory ( ) const
virtual

Definition at line 114 of file RE04Trajectory.cc.

115{
116 // Invoke the default implementation in G4VTrajectory...
117 G4VTrajectory::DrawTrajectory();
118 // ... or override with your own code here.
119}

◆ AppendStep()

void RE04Trajectory::AppendStep ( const G4Step aStep)
virtual

Definition at line 204 of file RE04Trajectory.cc.

205{
206 fPositionRecord->push_back( new RE04TrajectoryPoint(
207 aStep->GetPostStepPoint()->GetPosition(),
208 aStep->GetPreStepPoint()->GetMaterial() ));
209}

◆ GetPointEntries()

virtual int RE04Trajectory::GetPointEntries ( ) const
inlinevirtual

Definition at line 132 of file RE04Trajectory.hh.

132{ return fPositionRecord->size(); }

◆ GetPoint()

virtual G4VTrajectoryPoint * RE04Trajectory::GetPoint ( G4int  i) const
inlinevirtual

Definition at line 133 of file RE04Trajectory.hh.

134 { return (*fPositionRecord)[i]; }

◆ MergeTrajectory()

void RE04Trajectory::MergeTrajectory ( G4VTrajectory secondTrajectory)
virtual

Definition at line 218 of file RE04Trajectory.cc.

219{
220 if(!secondTrajectory) return;
221
222 RE04Trajectory* seco = (RE04Trajectory*)secondTrajectory;
223 G4int ent = seco->GetPointEntries();
224 for(G4int i=1;i<ent;i++) // initial point of the second trajectory
225 // should not be merged
226 {
227 fPositionRecord->push_back((*(seco->fPositionRecord))[i]);
228 // fPositionRecord->push_back(seco->fPositionRecord->removeAt(1));
229 }
230 delete (*seco->fPositionRecord)[0];
231 seco->fPositionRecord->clear();
232}
virtual int GetPointEntries() const

◆ GetParticleDefinition()

G4ParticleDefinition * RE04Trajectory::GetParticleDefinition ( )

Definition at line 212 of file RE04Trajectory.cc.

213{
214 return (G4ParticleTable::GetParticleTable()->FindParticle(fParticleName));
215}

◆ GetAttDefs()

const std::map< G4String, G4AttDef > * RE04Trajectory::GetAttDefs ( ) const
virtual

Definition at line 122 of file RE04Trajectory.cc.

123{
124 G4bool isNew;
125 std::map<G4String,G4AttDef>* store
126 = G4AttDefStore::GetInstance("RE04Trajectory",isNew);
127 if (isNew) {
128
129 G4String id("ID");
130 (*store)[id] = G4AttDef(id,"Track ID","Physics","","G4int");
131
132 G4String pid("PID");
133 (*store)[pid] = G4AttDef(pid,"Parent ID","Physics","","G4int");
134
135 G4String pn("PN");
136 (*store)[pn] = G4AttDef(pn,"Particle Name","Physics","","G4String");
137
138 G4String ch("Ch");
139 (*store)[ch] = G4AttDef(ch,"Charge","Physics","e+","G4double");
140
141 G4String pdg("PDG");
142 (*store)[pdg] = G4AttDef(pdg,"PDG Encoding","Physics","","G4int");
143
144 G4String ike("IKE");
145 (*store)[ike] =
146 G4AttDef(ike, "Initial kinetic energy",
147 "Physics","G4BestUnit","G4double");
148
149 G4String iMom("IMom");
150 (*store)[iMom] = G4AttDef(iMom, "Initial momentum",
151 "Physics","G4BestUnit","G4ThreeVector");
152
153 G4String iMag("IMag");
154 (*store)[iMag] =
155 G4AttDef(iMag, "Initial momentum magnitude",
156 "Physics","G4BestUnit","G4double");
157
158 G4String ntp("NTP");
159 (*store)[ntp] = G4AttDef(ntp,"No. of points","Physics","","G4int");
160
161 }
162 return store;
163}

◆ CreateAttValues()

std::vector< G4AttValue > * RE04Trajectory::CreateAttValues ( ) const
virtual

Definition at line 166 of file RE04Trajectory.cc.

167{
168 std::vector<G4AttValue>* values = new std::vector<G4AttValue>;
169
170 values->push_back
171 (G4AttValue("ID",G4UIcommand::ConvertToString(fTrackID),""));
172
173 values->push_back
174 (G4AttValue("PID",G4UIcommand::ConvertToString(fParentID),""));
175
176 values->push_back(G4AttValue("PN",fParticleName,""));
177
178 values->push_back
179 (G4AttValue("Ch",G4UIcommand::ConvertToString(fPDGCharge),""));
180
181 values->push_back
182 (G4AttValue("PDG",G4UIcommand::ConvertToString(fPDGEncoding),""));
183
184 values->push_back
185 (G4AttValue("IKE",G4BestUnit(fInitialKineticEnergy,"Energy"),""));
186
187 values->push_back
188 (G4AttValue("IMom",G4BestUnit(fInitialMomentum,"Energy"),""));
189
190 values->push_back
191 (G4AttValue("IMag",G4BestUnit(fInitialMomentum.mag(),"Energy"),""));
192
193 values->push_back
194 (G4AttValue("NTP",G4UIcommand::ConvertToString(GetPointEntries()),""));
195
196#ifdef G4ATTDEBUG
197 G4cout << G4AttCheck(values,GetAttDefs());
198#endif
199
200 return values;
201}
virtual const std::map< G4String, G4AttDef > * GetAttDefs() const

Member Data Documentation

◆ fPositionRecord

TrajectoryPointContainer* RE04Trajectory::fPositionRecord
private

Definition at line 146 of file RE04Trajectory.hh.

◆ fTrackID

G4int RE04Trajectory::fTrackID
private

Definition at line 147 of file RE04Trajectory.hh.

◆ fParentID

G4int RE04Trajectory::fParentID
private

Definition at line 148 of file RE04Trajectory.hh.

◆ fPDGEncoding

G4int RE04Trajectory::fPDGEncoding
private

Definition at line 149 of file RE04Trajectory.hh.

◆ fPDGCharge

G4double RE04Trajectory::fPDGCharge
private

Definition at line 150 of file RE04Trajectory.hh.

◆ fParticleName

G4String RE04Trajectory::fParticleName
private

Definition at line 151 of file RE04Trajectory.hh.

◆ fInitialKineticEnergy

G4double RE04Trajectory::fInitialKineticEnergy
private

Definition at line 152 of file RE04Trajectory.hh.

◆ fInitialMomentum

G4ThreeVector RE04Trajectory::fInitialMomentum
private

Definition at line 153 of file RE04Trajectory.hh.


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

Applications | User Support | Publications | Collaboration