#include <G4TrajectoryDrawByOriginVolume.hh>
Inheritance diagram for G4TrajectoryDrawByOriginVolume:
Public Member Functions | |
G4TrajectoryDrawByOriginVolume (const G4String &name="Unspecified", G4VisTrajContext *context=0) | |
virtual | ~G4TrajectoryDrawByOriginVolume () |
virtual void | Draw (const G4VTrajectory &trajectory, const G4int &i_mode=0, const G4bool &visible=true) const |
virtual void | Draw (const G4VTrajectory &trajectory, const G4bool &visible=true) const |
virtual void | Print (std::ostream &ostr) const |
void | SetDefault (const G4String &) |
void | SetDefault (const G4Colour &) |
void | Set (const G4String &particle, const G4String &colour) |
void | Set (const G4String &particle, const G4Colour &colour) |
Definition at line 43 of file G4TrajectoryDrawByOriginVolume.hh.
G4TrajectoryDrawByOriginVolume::G4TrajectoryDrawByOriginVolume | ( | const G4String & | name = "Unspecified" , |
|
G4VisTrajContext * | context = 0 | |||
) |
Definition at line 37 of file G4TrajectoryDrawByOriginVolume.cc.
00038 :G4VTrajectoryModel(name, context) 00039 ,fDefault(G4Colour::Grey()) 00040 {}
G4TrajectoryDrawByOriginVolume::~G4TrajectoryDrawByOriginVolume | ( | ) | [virtual] |
void G4TrajectoryDrawByOriginVolume::Draw | ( | const G4VTrajectory & | trajectory, | |
const G4bool & | visible = true | |||
) | const [virtual] |
Implements G4VTrajectoryModel.
Definition at line 53 of file G4TrajectoryDrawByOriginVolume.cc.
References G4TrajectoryDrawerUtils::DrawLineAndPoints(), G4cout, G4endl, G4ModelColourMap< T >::GetColour(), G4VTrajectoryModel::GetContext(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetName(), G4TransportationManager::GetNavigatorForTracking(), G4VTrajectory::GetPoint(), G4VTrajectoryPoint::GetPosition(), G4TransportationManager::GetTransportationManager(), G4VTrajectoryModel::GetVerbose(), G4Navigator::LocateGlobalPointAndSetup(), G4VTrajectoryModel::Name(), G4VisTrajContext::Print(), G4VisTrajContext::SetLineColour(), and G4VisTrajContext::SetVisible().
00054 { 00055 G4Colour colour(fDefault); 00056 00057 G4Navigator* navigator = G4TransportationManager::GetTransportationManager()->GetNavigatorForTracking(); 00058 00059 G4VTrajectoryPoint* aTrajectoryPoint = traj.GetPoint(0); 00060 assert (0 != aTrajectoryPoint); 00061 00062 G4VPhysicalVolume* volume = navigator->LocateGlobalPointAndSetup(aTrajectoryPoint->GetPosition()); 00063 00064 // Logical volumes form basis. 00065 G4LogicalVolume* logicalVolume = volume->GetLogicalVolume(); 00066 assert (0 != logicalVolume); 00067 00068 G4String logicalName = logicalVolume->GetName(); 00069 fMap.GetColour(logicalName, colour); 00070 00071 // Override with physical volume colouring if it exists 00072 G4String physicalName = volume->GetName(); 00073 fMap.GetColour(physicalName, colour); 00074 00075 G4VisTrajContext myContext(GetContext()); 00076 00077 myContext.SetLineColour(colour); 00078 myContext.SetVisible(visible); 00079 00080 if (GetVerbose()) { 00081 G4cout<<"G4TrajectoryDrawByOriginVolume drawer named "<<Name(); 00082 G4cout<<", drawing trajectory originating in logical volume, "<<logicalName; 00083 G4cout<<", physical volumed "<<physicalName<<", with configuration:"<<G4endl; 00084 myContext.Print(G4cout); 00085 } 00086 00087 G4TrajectoryDrawerUtils::DrawLineAndPoints(traj, myContext); 00088 }
void G4TrajectoryDrawByOriginVolume::Draw | ( | const G4VTrajectory & | trajectory, | |
const G4int & | i_mode = 0 , |
|||
const G4bool & | visible = true | |||
) | const [virtual] |
Implements G4VTrajectoryModel.
Definition at line 45 of file G4TrajectoryDrawByOriginVolume.cc.
00048 { 00049 Draw(object, visible); 00050 }
void G4TrajectoryDrawByOriginVolume::Print | ( | std::ostream & | ostr | ) | const [virtual] |
Implements G4VTrajectoryModel.
Definition at line 126 of file G4TrajectoryDrawByOriginVolume.cc.
References G4cout, G4endl, G4VTrajectoryModel::GetContext(), G4VTrajectoryModel::Name(), G4VisTrajContext::Print(), and G4ModelColourMap< T >::Print().
00127 { 00128 ostr<<"G4TrajectoryDrawByOriginVolume model "<< Name() <<" colour scheme: "<<std::endl; 00129 ostr<<"Default : "<<fDefault<<G4endl; 00130 00131 fMap.Print(ostr); 00132 00133 ostr<<"Default configuration:"<<G4endl; 00134 GetContext().Print(G4cout); 00135 }
Definition at line 114 of file G4TrajectoryDrawByOriginVolume.cc.
References G4ModelColourMap< T >::Set().
00115 { 00116 fMap.Set(particle, colour); 00117 }
void G4TrajectoryDrawByOriginVolume::SetDefault | ( | const G4Colour & | ) |
void G4TrajectoryDrawByOriginVolume::SetDefault | ( | const G4String & | ) |
Definition at line 91 of file G4TrajectoryDrawByOriginVolume.cc.
References G4Exception(), G4Colour::GetColour(), and JustWarning.
00092 { 00093 G4Colour myColour; 00094 00095 // Will not modify default colour if colour key does not exist 00096 if (!G4Colour::GetColour(colour, myColour)) { 00097 G4ExceptionDescription ed; 00098 ed << "G4Colour with key "<<colour<<" does not exist "; 00099 G4Exception 00100 ("G4TrajectoryDrawByOriginParticleID::SetDefault(const G4String& colour)", "modeling0123", JustWarning, ed); 00101 return; 00102 } 00103 00104 SetDefault(myColour); 00105 }