32#include "G4VVisManager.hh"
33#include "G4VisAttributes.hh"
35#include "G4AttDefStore.hh"
37#include "G4AttValue.hh"
38#include "G4UIcommand.hh"
39#include "G4UnitsTable.hh"
40#include "G4SystemOfUnits.hh"
67 auto visManager = G4VVisManager::GetConcreteInstance();
68 if ( ! visManager || (
fEdep==0.) )
return;
71 G4Transform3D trans(
fRot.inverse(),
fPos);
73 auto pVA =
fPLogV->GetVisAttributes();
74 if (pVA) attribs = *pVA;
75 auto rcol =
fEdep/(0.7*GeV);
76 if (rcol>1.) rcol = 1.;
77 if (rcol<0.4) rcol = 0.4;
79 attribs.SetColour(colour);
80 attribs.SetForceSolid(
true);
81 visManager->Draw(*
fPLogV,attribs,trans);
89 auto store = G4AttDefStore::GetInstance(
"EmCalorimeterHit",isNew);
93 =
G4AttDef(
"HitType",
"Hit Type",
"Physics",
"",
"G4String");
96 =
G4AttDef(
"ID",
"ID",
"Physics",
"",
"G4int");
99 =
G4AttDef(
"Energy",
"Energy Deposited",
"Physics",
"G4BestUnit",
103 =
G4AttDef(
"Pos",
"Position",
"Physics",
"G4BestUnit",
107 =
G4AttDef(
"LVol",
"Logical Volume",
"Physics",
"",
"G4String");
116 auto values =
new std::vector<G4AttValue>;
119 ->push_back(
G4AttValue(
"HitType",
"EmCalorimeterHit",
""));
139 G4cout <<
" Cell[" <<
fCellID <<
"] " <<
fEdep/MeV <<
" (MeV)" << G4endl;
Definition of the B5::EmCalorimeterHit class.
const G4LogicalVolume * fPLogV
G4bool operator==(const EmCalorimeterHit &right) const
std::vector< G4AttValue > * CreateAttValues() const override
const std::map< G4String, G4AttDef > * GetAttDefs() const override
EmCalorimeterHit()=default
G4ThreadLocal G4Allocator< EmCalorimeterHit > * EmCalorimeterHitAllocator