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

#include <Doxymodules_field.h>

Inheritance diagram for G4BlineEventAction:
G4UserEventAction

Public Member Functions

 G4BlineEventAction (G4BlineTracer *aBlineTool)
 
 ~G4BlineEventAction () override
 
void BeginOfEventAction (const G4Event *) override
 
void EndOfEventAction (const G4Event *) override
 
void DrawFieldLines (G4double zoom, G4double theta, G4double phi)
 
void ResetVectorObjectToBeDrawn ()
 
void SetDrawColour (G4Colour aColour)
 
void SetDrawBline (G4bool aBool)
 
void SetDrawPoints (G4bool aBool)
 
void SetPointSize (G4double aVal)
 
G4bool GetDrawBline ()
 

Private Attributes

G4BlineTracerfBlineTool = nullptr
 
G4Colour fDrawColour
 
G4bool fDrawBline = false
 
G4bool fDrawPoints = false
 
G4double fPointSize = 1
 
std::vector< G4VisAttributes * > fTrajectoryVisAttributes
 
std::vector< G4PolylinefTrajectoryPolyline
 
std::vector< G4PolymarkerfTrajectoryPoints
 

Detailed Description

Definition at line 19 of file Doxymodules_field.h.

Constructor & Destructor Documentation

◆ G4BlineEventAction()

G4BlineEventAction::G4BlineEventAction ( G4BlineTracer aBlineTool)

Definition at line 54 of file G4BlineEventAction.cc.

55{
56 fBlineTool=aBlineTool;
57}
G4BlineTracer * fBlineTool

◆ ~G4BlineEventAction()

G4BlineEventAction::~G4BlineEventAction ( )
override

Definition at line 61 of file G4BlineEventAction.cc.

62{
63 for (size_t i=0; i<fTrajectoryVisAttributes.size(); i++)
65}
std::vector< G4VisAttributes * > fTrajectoryVisAttributes

Member Function Documentation

◆ BeginOfEventAction()

void G4BlineEventAction::BeginOfEventAction ( const G4Event )
override

Definition at line 69 of file G4BlineEventAction.cc.

70{
71}

◆ EndOfEventAction()

void G4BlineEventAction::EndOfEventAction ( const G4Event evt)
override

Definition at line 75 of file G4BlineEventAction.cc.

76{
77 G4TrajectoryContainer * trajectoryContainer = evt->GetTrajectoryContainer();
78 if(trajectoryContainer)
79 {
80 // visualisation
81 // -------------
82
84 {
85 G4int n_point = (*(evt->GetTrajectoryContainer()))[0]->GetPointEntries();
86
87 G4Polyline pPolyline;
88 G4Polymarker stepPoints;
90 stepPoints.SetMarkerType(G4Polymarker::circles);
91 stepPoints.SetScreenSize(fPointSize);
92 stepPoints.SetFillStyle(G4VMarker::filled);
93 stepPoints.SetVisAttributes(fTrajectoryVisAttributes.back());
94
95 for(G4int i=0; i<n_point; i++)
96 {
97 G4ThreeVector pos = ((G4TrajectoryPoint*)
98 ((*(evt->GetTrajectoryContainer()))[0]->GetPoint(i)))->GetPosition();
99 if (fDrawBline) pPolyline.push_back( pos);
100 if (fDrawPoints) stepPoints.push_back(pos);
101 }
102
103 pPolyline.SetVisAttributes(fTrajectoryVisAttributes.back());
104
105 fTrajectoryPolyline.push_back(pPolyline);
106 fTrajectoryPoints.push_back(stepPoints);
107 }
108 }
109}
std::vector< G4Polymarker > fTrajectoryPoints
std::vector< G4Polyline > fTrajectoryPolyline

◆ DrawFieldLines()

void G4BlineEventAction::DrawFieldLines ( G4double  zoom,
G4double  theta,
G4double  phi 
)

Definition at line 113 of file G4BlineEventAction.cc.

115{
116 size_t nline = fTrajectoryPolyline.size();
117 size_t npoints =fTrajectoryPoints.size();
118
119 G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
120 if (!pVVisManager)
121 {
122 G4Exception("G4BlineEventAction::DrawFieldLines()",
123 "NullPointer", JustWarning,
124 "Missing visualisation driver for visualising magnetic field lines!");
125 return;
126 }
127
128 if (nline ==0)
129 {
130 G4cout << "WARNING - G4BlineEventAction::DrawFieldLines()" << G4endl
131 << " There is nothing to visualise !" << G4endl;
132 return;
133 }
134 ((G4VisManager*)pVVisManager)->GetCurrentSceneHandler()-> ClearStore ();
135 G4UImanager::GetUIpointer () -> ApplyCommand ("/vis/drawVolume");
136
137 for (size_t i=0;i<nline;i++)
138 pVVisManager->Draw(fTrajectoryPolyline[i]);
139 for (size_t i=0;i<npoints;i++)
140 pVVisManager->Draw(fTrajectoryPoints[i]);
141
142 // ((G4VisManager*)pVVisManager)->GetCurrentViewer()->DrawView();
143 // ((G4VisManager*)pVVisManager)->GetCurrentViewer()->ShowView();
144}

◆ ResetVectorObjectToBeDrawn()

void G4BlineEventAction::ResetVectorObjectToBeDrawn ( )

Definition at line 148 of file G4BlineEventAction.cc.

149{
151 fTrajectoryPolyline.clear();
152 fTrajectoryPoints.clear();
153}

◆ SetDrawColour()

void G4BlineEventAction::SetDrawColour ( G4Colour  aColour)
inline

Definition at line 75 of file G4BlineEventAction.hh.

75{ fDrawColour = aColour; }

◆ SetDrawBline()

void G4BlineEventAction::SetDrawBline ( G4bool  aBool)
inline

Definition at line 76 of file G4BlineEventAction.hh.

76{ fDrawBline=aBool; }

◆ SetDrawPoints()

void G4BlineEventAction::SetDrawPoints ( G4bool  aBool)
inline

Definition at line 77 of file G4BlineEventAction.hh.

77{ fDrawPoints=aBool; }

◆ SetPointSize()

void G4BlineEventAction::SetPointSize ( G4double  aVal)
inline

Definition at line 78 of file G4BlineEventAction.hh.

78{ fPointSize=aVal; }

◆ GetDrawBline()

G4bool G4BlineEventAction::GetDrawBline ( )
inline

Definition at line 79 of file G4BlineEventAction.hh.

79{ return fDrawBline; }

Member Data Documentation

◆ fBlineTool

G4BlineTracer* G4BlineEventAction::fBlineTool = nullptr
private

Definition at line 91 of file G4BlineEventAction.hh.

◆ fDrawColour

G4Colour G4BlineEventAction::fDrawColour
private

Definition at line 92 of file G4BlineEventAction.hh.

◆ fDrawBline

G4bool G4BlineEventAction::fDrawBline = false
private

Definition at line 93 of file G4BlineEventAction.hh.

◆ fDrawPoints

G4bool G4BlineEventAction::fDrawPoints = false
private

Definition at line 94 of file G4BlineEventAction.hh.

◆ fPointSize

G4double G4BlineEventAction::fPointSize = 1
private

Definition at line 95 of file G4BlineEventAction.hh.

◆ fTrajectoryVisAttributes

std::vector<G4VisAttributes*> G4BlineEventAction::fTrajectoryVisAttributes
private

Definition at line 96 of file G4BlineEventAction.hh.

◆ fTrajectoryPolyline

std::vector<G4Polyline> G4BlineEventAction::fTrajectoryPolyline
private

Definition at line 97 of file G4BlineEventAction.hh.

◆ fTrajectoryPoints

std::vector<G4Polymarker> G4BlineEventAction::fTrajectoryPoints
private

Definition at line 98 of file G4BlineEventAction.hh.


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

Applications | User Support | Publications | Collaboration