G4TrajectoryDrawByOriginVolume Class Reference

#include <G4TrajectoryDrawByOriginVolume.hh>

Inheritance diagram for G4TrajectoryDrawByOriginVolume:

G4VTrajectoryModel

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)

Detailed Description

Definition at line 43 of file G4TrajectoryDrawByOriginVolume.hh.


Constructor & Destructor Documentation

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]

Definition at line 42 of file G4TrajectoryDrawByOriginVolume.cc.

00042 {}


Member Function Documentation

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 }

void G4TrajectoryDrawByOriginVolume::Set ( const G4String particle,
const G4Colour colour 
)

Definition at line 120 of file G4TrajectoryDrawByOriginVolume.cc.

00121 {
00122   fMap[particle] = colour;
00123 }

void G4TrajectoryDrawByOriginVolume::Set ( const G4String particle,
const G4String colour 
)

Definition at line 114 of file G4TrajectoryDrawByOriginVolume.cc.

References G4ModelColourMap< T >::Set().

00115 {
00116   fMap.Set(particle, colour);
00117 }

void G4TrajectoryDrawByOriginVolume::SetDefault ( const G4Colour  ) 

Definition at line 108 of file G4TrajectoryDrawByOriginVolume.cc.

00109 {
00110   fDefault = colour;
00111 }

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 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:33 2013 for Geant4 by  doxygen 1.4.7