63 G4double CexmcRadialLineWidth( 2.0 );
64 G4double CexmcRadialLineCapScreenSize( 4.0 );
65 G4double CexmcMarkerScreenSize( 2.0 );
66 G4double CexmcICHlLineLineWidth( 1.0 );
67 G4Colour CexmcDefaultSPColour( 1.0, 1.0, 1.0 );
72 setup( setup ), markTargetCenter( false ), highlightInnerCrystals( false ),
91 if ( markTargetCenter )
93 if ( highlightInnerCrystals )
95 for ( CexmcRadialLines::const_iterator k( radialLines.begin() );
96 k != radialLines.end(); ++k )
112 transform.NetTranslation() );
121 const CexmcRadialLine * rLine )
126 G4Point3D radialLineEnd( - std::sin( theta ) * std::cos( phi ) * length,
127 std::sin( theta ) * std::sin( phi ) * length,
128 std::cos( theta ) * length );
132 line.push_back( radialLineEnd );
135 visAttributes.SetLineWidth( CexmcRadialLineWidth );
145 transform.NetTranslation() );
158 G4double icWidth( calorimeterGeometry.crystalWidth *
159 ( calorimeterGeometry.nCrystalsInRow - 2 ) / 2 );
160 G4double icHeight( calorimeterGeometry.crystalHeight *
161 ( calorimeterGeometry.nCrystalsInColumn - 2 ) / 2 );
162 G4double icLength( calorimeterGeometry.crystalLength / 2 );
163 icWidth = icWidth < 0 ? 0 : icWidth;
164 icHeight = icHeight < 0 ? 0 : icHeight;
168 visAttributes.SetLineWidth( CexmcICHlLineLineWidth );
169 innerCrystals.SetVisAttributes( visAttributes );
174 transformLeft.NetRotation().inverse(),
175 transformLeft.NetTranslation() );
179 transformRight.NetRotation().inverse(),
180 transformRight.NetTranslation() );
CLHEP::Hep3Vector G4ThreeVector
const G4String CexmcScenePrimitivesDescription("CexmcScenePrimitives")
CLHEP::HepRotation G4RotationMatrix
void SetFillStyle(FillStyle)
void MarkTargetCenter(G4bool on=true)
virtual void BeginPrimitives(const G4Transform3D &objectTransformation=G4Transform3D())=0
const G4AffineTransform & GetCalorimeterLeftTransform(void) const
virtual void AddPrimitive(const G4Polyline &)=0
static constexpr double cm
void SetVisAttributes(const G4VisAttributes *)
CexmcScenePrimitives(CexmcSetup *setup)
const G4AffineTransform & GetCalorimeterRightTransform(void) const
const CalorimeterGeometryData & GetCalorimeterGeometry(void) const
const G4AffineTransform & GetTargetTransform(void) const
virtual void EndPrimitives()=0
static constexpr double deg
void HighlightInnerCrystals(G4bool=true)
void DrawRadialLine(const G4ThreeVector &line)
void SetGlobalDescription(const G4String &)
void DescribeYourselfTo(G4VGraphicsScene &scene)
void SetScreenSize(G4double)