486 #ifdef G4HEPREPFILEDEBUG 487 G4cout <<
"G4HepRepFileSceneHandler::AddCompound(const G4VTrajectory&) " <<
G4endl;
493 (
"G4HepRepFileSceneHandler::AddCompound(const G4VTrajectory&)",
499 new std::vector<G4AttValue>;
501 new std::map<G4String,G4AttDef>;
504 std::vector<G4AttValue>::iterator iAttVal;
505 std::map<G4String,G4AttDef>::const_iterator iAttDef;
510 if (rawTrajAttValues) {
514 G4cout <<
"G4HepRepFileSceneHandler::AddCompound(traj):" 515 "\nERROR found during conversion to standard trajectory attributes." 518 #ifdef G4HEPREPFILEDEBUG 520 "G4HepRepFileSceneHandler::AddCompound(traj): standardised attributes:\n" 523 delete rawTrajAttValues;
541 if (strcmp(
"Trajectories",previousName)!=0) {
555 G4String category = iAttDef->second.GetCategory();
556 if (strcmp(category,
"Draw")!=0 &&
557 strcmp(category,
"Physics")!=0 &&
558 strcmp(category,
"Association")!=0 &&
559 strcmp(category,
"PickAction")!=0)
560 category =
"Physics";
562 category, iAttDef->second.GetExtra());
575 std::vector<G4AttValue>* rawPointAttValues = aTrajectoryPoint->
CreateAttValues();
576 std::vector<G4AttValue>* pointAttValues =
577 new std::vector<G4AttValue>;
578 std::map<G4String,G4AttDef>* pointAttDefs =
579 new std::map<G4String,G4AttDef>;
583 if (rawPointAttValues) {
585 aTrajectoryPoint->
GetAttDefs()).Standard(pointAttValues,pointAttDefs);
587 G4cout <<
"G4HepRepFileSceneHandler::AddCompound(traj):" 588 "\nERROR found during conversion to standard first point attributes." <<
G4endl;
592 if (pointAttValues && pointAttDefs) {
593 for (iAttVal = pointAttValues->begin();
594 iAttVal != pointAttValues->end(); ++iAttVal) {
596 pointAttDefs->find(iAttVal->GetName());
597 if (iAttDef != pointAttDefs->end()) {
600 G4String category = iAttDef->second.GetCategory();
601 if (strcmp(category,
"Draw")!=0 &&
602 strcmp(category,
"Physics")!=0 &&
603 strcmp(category,
"Association")!=0 &&
604 strcmp(category,
"PickAction")!=0)
605 category =
"Physics";
609 if (strcmp(iAttVal->GetName(),
"Aux-X")!=0 &&
610 strcmp(iAttVal->GetName(),
"Aux-Y")!=0 &&
611 strcmp(iAttVal->GetName(),
"Aux-Z")!=0 &&
612 strcmp(iAttVal->GetName(),
"Pos-X")!=0 &&
613 strcmp(iAttVal->GetName(),
"Pos-Y")!=0 &&
614 strcmp(iAttVal->GetName(),
"Pos-Z")!=0)
616 category, iAttDef->second.GetExtra());
620 delete rawPointAttValues;
625 delete pointAttValues;
662 redness = colour.
GetRed();
670 if (redness==0. && greenness==0. && blueness==0.) {
677 if (strcmp(
"Trajectory Step Points",previousName)!=0) {
697 std::vector<G4AttValue>* rawPointAttValues = aTrajectoryPoint->
CreateAttValues();
698 std::vector<G4AttValue>* pointAttValues =
699 new std::vector<G4AttValue>;
700 std::map<G4String,G4AttDef>* pointAttDefs =
701 new std::map<G4String,G4AttDef>;
705 if (rawPointAttValues) {
707 aTrajectoryPoint->
GetAttDefs()).Standard(pointAttValues,pointAttDefs);
709 G4cout <<
"G4HepRepFileSceneHandler::AddCompound(traj):" 710 "\nERROR found during conversion to standard point attributes." <<
G4endl;
714 if (pointAttValues) {
715 for (iAttVal = pointAttValues->begin();
716 iAttVal != pointAttValues->end(); ++iAttVal)
720 if (strcmp(iAttVal->GetName(),
"Aux-X")!=0 &&
721 strcmp(iAttVal->GetName(),
"Aux-Y")!=0 &&
722 strcmp(iAttVal->GetName(),
"Aux-Z")!=0 &&
723 strcmp(iAttVal->GetName(),
"Pos-X")!=0 &&
724 strcmp(iAttVal->GetName(),
"Pos-Y")!=0 &&
725 strcmp(iAttVal->GetName(),
"Pos-Z")!=0)
732 delete pointAttValues;
733 delete rawPointAttValues;
760 redness = colour.
GetRed();
768 if (redness==0. && greenness==0. && blueness==0.) {
775 if (strcmp(
"Trajectory Auxiliary Points",previousName)!=0) {
795 std::vector<G4AttValue>* rawPointAttValues = aTrajectoryPoint->
CreateAttValues();
796 std::vector<G4AttValue>* pointAttValues =
797 new std::vector<G4AttValue>;
798 std::map<G4String,G4AttDef>* pointAttDefs =
799 new std::map<G4String,G4AttDef>;
803 if (rawPointAttValues) {
805 aTrajectoryPoint->
GetAttDefs()).Standard(pointAttValues,pointAttDefs);
807 G4cout <<
"G4HepRepFileSceneHandler::AddCompound(traj):" 808 "\nERROR found during conversion to standard point attributes." <<
G4endl;
812 if (pointAttValues) {
813 for (iAttVal = pointAttValues->begin();
814 iAttVal != pointAttValues->end(); ++iAttVal)
818 if (strcmp(iAttVal->GetName(),
"Aux-X")!=0 &&
819 strcmp(iAttVal->GetName(),
"Aux-Y")!=0 &&
820 strcmp(iAttVal->GetName(),
"Aux-Z")!=0 &&
821 strcmp(iAttVal->GetName(),
"Pos-X")!=0 &&
822 strcmp(iAttVal->GetName(),
"Pos-Y")!=0 &&
823 strcmp(iAttVal->GetName(),
"Pos-Z")!=0)
830 delete pointAttValues;
831 delete rawPointAttValues;
837 const std::vector<G4ThreeVector>* auxiliaries = aTrajectoryPoint->
GetAuxiliaryPoints();
838 if (0 != auxiliaries) {
839 for (
size_t iAux=0; iAux<auxiliaries->size(); ++iAux) {
G4bool GetDrawAuxPts() const
G4Colour GetAuxPtsColour() const
G4Polymarker::MarkerType GetAuxPtsType() const
G4double GetStepPtsSize() const
virtual G4VTrajectoryPoint * GetPoint(G4int i) const =0
void addAttValue(const char *name, const char *value)
G4Polymarker::MarkerType GetStepPtsType() const
G4double GetGreen() const
G4bool GetStepPtsVisible() const
virtual const std::vector< G4ThreeVector > * GetAuxiliaryPoints() const
const G4VisTrajContext * trajContext
virtual std::vector< G4AttValue > * CreateAttValues() const
virtual const std::map< G4String, G4AttDef > * GetAttDefs() const
virtual int GetPointEntries() const =0
G4HepRepFileXMLWriter * hepRepXMLWriter
G4GLOB_DLL std::ostream G4cout
void addPoint(double x, double y, double z)
void addAttDef(const char *name, const char *desc, const char *type, const char *extra)
G4Colour GetStepPtsColour() const
virtual std::vector< G4AttValue > * CreateAttValues() const
std::map< G4String, G4AttDef > * trajAttDefs
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
virtual const G4ThreeVector GetPosition() const =0
virtual void AddCompound(const G4VTrajectory &)
std::vector< G4AttValue > * trajAttValues
G4double GetAuxPtsSize() const
virtual const std::map< G4String, G4AttDef > * GetAttDefs() const
static PROLOG_HANDLER error
void addType(const char *name, int newTypeDepth)
G4bool GetDrawStepPts() const
G4bool GetAuxPtsVisible() const