Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
B5::HadCalorimeterHit Class Reference

Hadron Calorimeter hit. More...

#include <Doxymodules_basic.h>

Inheritance diagram for B5::HadCalorimeterHit:
G4VHit

Public Member Functions

 HadCalorimeterHit ()=default
 
 HadCalorimeterHit (G4int iCol, G4int iRow)
 
 HadCalorimeterHit (const HadCalorimeterHit &right)=default
 
 ~HadCalorimeterHit () override=default
 
HadCalorimeterHitoperator= (const HadCalorimeterHit &right)=default
 
G4bool operator== (const HadCalorimeterHit &right) const
 
void * operator new (size_t)
 
void operator delete (void *aHit)
 
void Draw () override
 
const std::map< G4String, G4AttDef > * GetAttDefs () const override
 
std::vector< G4AttValue > * CreateAttValues () const override
 
void Print () override
 
void SetColumnID (G4int z)
 
G4int GetColumnID () const
 
void SetRowID (G4int z)
 
G4int GetRowID () const
 
void SetEdep (G4double de)
 
void AddEdep (G4double de)
 
G4double GetEdep () const
 
void SetPos (G4ThreeVector xyz)
 
G4ThreeVector GetPos () const
 
void SetRot (G4RotationMatrix rmat)
 
G4RotationMatrix GetRot () const
 

Private Attributes

G4int fColumnID = -1
 
G4int fRowID = -1
 
G4double fEdep = 0.
 
G4ThreeVector fPos
 
G4RotationMatrix fRot
 

Detailed Description

Hadron Calorimeter hit.

It records:

Definition at line 192 of file Doxymodules_basic.h.

Constructor & Destructor Documentation

◆ HadCalorimeterHit() [1/3]

B5::HadCalorimeterHit::HadCalorimeterHit ( )
default

◆ HadCalorimeterHit() [2/3]

B5::HadCalorimeterHit::HadCalorimeterHit ( G4int  iCol,
G4int  iRow 
)

Definition at line 54 of file HadCalorimeterHit.cc.

◆ HadCalorimeterHit() [3/3]

B5::HadCalorimeterHit::HadCalorimeterHit ( const HadCalorimeterHit right)
default

◆ ~HadCalorimeterHit()

B5::HadCalorimeterHit::~HadCalorimeterHit ( )
overridedefault

Member Function Documentation

◆ operator=()

HadCalorimeterHit & B5::HadCalorimeterHit::operator= ( const HadCalorimeterHit right)
default

◆ operator==()

G4bool B5::HadCalorimeterHit::operator== ( const HadCalorimeterHit right) const

Definition at line 60 of file HadCalorimeterHit.cc.

61{
62 return ( fColumnID==right.fColumnID && fRowID==right.fRowID );
63}

◆ operator new()

void * B5::HadCalorimeterHit::operator new ( size_t  )
inline

Definition at line 101 of file HadCalorimeterHit.hh.

102{
105 }
106 return (void*)HadCalorimeterHitAllocator->MallocSingle();
107}
G4ThreadLocal G4Allocator< HadCalorimeterHit > * HadCalorimeterHitAllocator

◆ operator delete()

void B5::HadCalorimeterHit::operator delete ( void *  aHit)
inline

Definition at line 109 of file HadCalorimeterHit.hh.

110{
112}
HadCalorimeterHit()=default

◆ Draw()

void B5::HadCalorimeterHit::Draw ( )
override

Definition at line 67 of file HadCalorimeterHit.cc.

68{
69 auto visManager = G4VVisManager::GetConcreteInstance();
70 if (! visManager || (fEdep==0.)) return;
71
72 // Draw a calorimeter cell with depth propotional to the energy deposition
73 G4Transform3D trans(fRot.inverse(),fPos);
74 G4VisAttributes attribs;
75 attribs.SetColour(G4Colour::Red());
76 attribs.SetForceSolid(true);
77 G4Box box("dummy",15.*cm,15.*cm,1.*m*fEdep/(0.1*GeV));
78 visManager->Draw(box,attribs,trans);
79}

◆ GetAttDefs()

const std::map< G4String, G4AttDef > * B5::HadCalorimeterHit::GetAttDefs ( ) const
override

Definition at line 83 of file HadCalorimeterHit.cc.

84{
85 G4bool isNew;
86 auto store = G4AttDefStore::GetInstance("HadCalorimeterHit",isNew);
87
88 if (isNew) {
89 (*store)["HitType"]
90 = G4AttDef("HitType","Hit Type","Physics","","G4String");
91
92 (*store)["Column"]
93 = G4AttDef("Column","Column ID","Physics","","G4int");
94
95 (*store)["Row"]
96 = G4AttDef("Row","Row ID","Physics","","G4int");
97
98 (*store)["Energy"]
99 = G4AttDef("Energy","Energy Deposited","Physics","G4BestUnit",
100 "G4double");
101
102 (*store)["Pos"]
103 = G4AttDef("Pos", "Position", "Physics","G4BestUnit",
104 "G4ThreeVector");
105 }
106 return store;
107}

◆ CreateAttValues()

std::vector< G4AttValue > * B5::HadCalorimeterHit::CreateAttValues ( ) const
override

Definition at line 111 of file HadCalorimeterHit.cc.

112{
113 auto values = new std::vector<G4AttValue>;
114
115 values
116 ->push_back(G4AttValue("HitType","HadCalorimeterHit",""));
117 values
118 ->push_back(G4AttValue("Column",G4UIcommand::ConvertToString(fColumnID),
119 ""));
120 values
121 ->push_back(G4AttValue("Row",G4UIcommand::ConvertToString(fRowID),""));
122 values
123 ->push_back(G4AttValue("Energy",G4BestUnit(fEdep,"Energy"),""));
124 values
125 ->push_back(G4AttValue("Pos",G4BestUnit(fPos,"Length"),""));
126
127 return values;
128}

◆ Print()

void B5::HadCalorimeterHit::Print ( )
override

Definition at line 132 of file HadCalorimeterHit.cc.

133{
134 G4cout << " Cell[" << fRowID << ", " << fColumnID << "] "
135 << fEdep/MeV << " (MeV) " << fPos << G4endl;
136}

◆ SetColumnID()

void B5::HadCalorimeterHit::SetColumnID ( G4int  z)
inline

Definition at line 73 of file HadCalorimeterHit.hh.

73{ fColumnID = z; }

◆ GetColumnID()

G4int B5::HadCalorimeterHit::GetColumnID ( ) const
inline

Definition at line 74 of file HadCalorimeterHit.hh.

74{ return fColumnID; }

◆ SetRowID()

void B5::HadCalorimeterHit::SetRowID ( G4int  z)
inline

Definition at line 76 of file HadCalorimeterHit.hh.

76{ fRowID = z; }

◆ GetRowID()

G4int B5::HadCalorimeterHit::GetRowID ( ) const
inline

Definition at line 77 of file HadCalorimeterHit.hh.

77{ return fRowID; }

◆ SetEdep()

void B5::HadCalorimeterHit::SetEdep ( G4double  de)
inline

Definition at line 79 of file HadCalorimeterHit.hh.

79{ fEdep = de; }

◆ AddEdep()

void B5::HadCalorimeterHit::AddEdep ( G4double  de)
inline

Definition at line 80 of file HadCalorimeterHit.hh.

80{ fEdep += de; }

◆ GetEdep()

G4double B5::HadCalorimeterHit::GetEdep ( ) const
inline

Definition at line 81 of file HadCalorimeterHit.hh.

81{ return fEdep; }

◆ SetPos()

void B5::HadCalorimeterHit::SetPos ( G4ThreeVector  xyz)
inline

Definition at line 83 of file HadCalorimeterHit.hh.

83{ fPos = xyz; }

◆ GetPos()

G4ThreeVector B5::HadCalorimeterHit::GetPos ( ) const
inline

Definition at line 84 of file HadCalorimeterHit.hh.

84{ return fPos; }

◆ SetRot()

void B5::HadCalorimeterHit::SetRot ( G4RotationMatrix  rmat)
inline

Definition at line 86 of file HadCalorimeterHit.hh.

86{ fRot = rmat; }

◆ GetRot()

G4RotationMatrix B5::HadCalorimeterHit::GetRot ( ) const
inline

Definition at line 87 of file HadCalorimeterHit.hh.

87{ return fRot; }

Member Data Documentation

◆ fColumnID

G4int B5::HadCalorimeterHit::fColumnID = -1
private

Definition at line 90 of file HadCalorimeterHit.hh.

◆ fRowID

G4int B5::HadCalorimeterHit::fRowID = -1
private

Definition at line 91 of file HadCalorimeterHit.hh.

◆ fEdep

G4double B5::HadCalorimeterHit::fEdep = 0.
private

Definition at line 92 of file HadCalorimeterHit.hh.

◆ fPos

G4ThreeVector B5::HadCalorimeterHit::fPos
private

Definition at line 93 of file HadCalorimeterHit.hh.

◆ fRot

G4RotationMatrix B5::HadCalorimeterHit::fRot
private

Definition at line 94 of file HadCalorimeterHit.hh.


The documentation for this class was generated from the following files:

Applications | User Support | Publications | Collaboration