Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
LXePMTHit Class Reference

#include <LXePMTHit.hh>

Inheritance diagram for LXePMTHit:
G4VHit

Public Member Functions

 LXePMTHit ()
 
virtual ~LXePMTHit ()
 
 LXePMTHit (const LXePMTHit &right)
 
const LXePMTHitoperator= (const LXePMTHit &right)
 
G4int operator== (const LXePMTHit &right) const
 
voidoperator new (size_t)
 
void operator delete (void *aHit)
 
virtual void Draw ()
 
virtual void Print ()
 
void SetDrawit (G4bool b)
 
G4bool GetDrawit ()
 
void IncPhotonCount ()
 
G4int GetPhotonCount ()
 
void SetPMTNumber (G4int n)
 
G4int GetPMTNumber ()
 
void SetPMTPhysVol (G4VPhysicalVolume *physVol)
 
G4VPhysicalVolumeGetPMTPhysVol ()
 
void SetPMTPos (G4double x, G4double y, G4double z)
 
G4ThreeVector GetPMTPos ()
 
- Public Member Functions inherited from G4VHit
 G4VHit ()
 
virtual ~G4VHit ()
 
G4int operator== (const G4VHit &right) const
 
virtual const std::map
< G4String, G4AttDef > * 
GetAttDefs () const
 
virtual std::vector< G4AttValue > * CreateAttValues () const
 

Detailed Description

Definition at line 48 of file LXePMTHit.hh.

Constructor & Destructor Documentation

LXePMTHit::LXePMTHit ( )

Definition at line 44 of file LXePMTHit.cc.

45  : fPmtNumber(-1),fPhotons(0),fPhysVol(0),fDrawit(false) {}
LXePMTHit::~LXePMTHit ( )
virtual

Definition at line 49 of file LXePMTHit.cc.

49 {}
LXePMTHit::LXePMTHit ( const LXePMTHit right)

Definition at line 53 of file LXePMTHit.cc.

53  : G4VHit()
54 {
55  fPmtNumber=right.fPmtNumber;
56  fPhotons=right.fPhotons;
57  fPhysVol=right.fPhysVol;
58  fDrawit=right.fDrawit;
59 }
G4VHit()
Definition: G4VHit.cc:34

Member Function Documentation

void LXePMTHit::Draw ( )
virtual

Reimplemented from G4VHit.

Definition at line 79 of file LXePMTHit.cc.

References G4VVisManager::Draw(), G4VVisManager::GetConcreteInstance(), G4VPhysicalVolume::GetRotation(), G4VPhysicalVolume::GetTranslation(), and G4VisAttributes::SetForceSolid().

79  {
80  if(fDrawit&&fPhysVol){ //ReDraw only the PMTs that have hit counts > 0
81  //Also need a physical volume to be able to draw anything
83  if(pVVisManager){//Make sure that the VisManager exists
84  G4VisAttributes attribs(G4Colour(1.,0.,0.));
85  attribs.SetForceSolid(true);
86  G4RotationMatrix rot;
87  if(fPhysVol->GetRotation())//If a rotation is defined use it
88  rot=*(fPhysVol->GetRotation());
89  G4Transform3D trans(rot,fPhysVol->GetTranslation());//Create transform
90  pVVisManager->Draw(*fPhysVol,attribs,trans);//Draw it
91  }
92  }
93 }
virtual void Draw(const G4Circle &, const G4Transform3D &objectTransformation=G4Transform3D())=0
const G4ThreeVector & GetTranslation() const
static G4VVisManager * GetConcreteInstance()
const G4RotationMatrix * GetRotation() const
G4bool LXePMTHit::GetDrawit ( )
inline

Definition at line 66 of file LXePMTHit.hh.

66 {return fDrawit;}
G4int LXePMTHit::GetPhotonCount ( )
inline

Definition at line 69 of file LXePMTHit.hh.

69 {return fPhotons;}
G4int LXePMTHit::GetPMTNumber ( )
inline

Definition at line 72 of file LXePMTHit.hh.

72 { return fPmtNumber; }
G4VPhysicalVolume* LXePMTHit::GetPMTPhysVol ( )
inline

Definition at line 75 of file LXePMTHit.hh.

75 {return fPhysVol;}
G4ThreeVector LXePMTHit::GetPMTPos ( )
inline

Definition at line 81 of file LXePMTHit.hh.

81 {return fPos;}
void LXePMTHit::IncPhotonCount ( )
inline

Definition at line 68 of file LXePMTHit.hh.

Referenced by LXePMTSD::ProcessHits_constStep().

68 {fPhotons++;}
void LXePMTHit::operator delete ( void aHit)
inline

Definition at line 103 of file LXePMTHit.hh.

References LXePMTHitAllocator.

103  {
104  LXePMTHitAllocator->FreeSingle((LXePMTHit*) aHit);
105 }
G4ThreadLocal G4Allocator< LXePMTHit > * LXePMTHitAllocator
Definition: LXePMTHit.cc:40
void * LXePMTHit::operator new ( size_t  )
inline

Definition at line 97 of file LXePMTHit.hh.

References LXePMTHitAllocator.

97  {
100  return (void *) LXePMTHitAllocator->MallocSingle();
101 }
G4ThreadLocal G4Allocator< LXePMTHit > * LXePMTHitAllocator
Definition: LXePMTHit.cc:40
const LXePMTHit & LXePMTHit::operator= ( const LXePMTHit right)

Definition at line 63 of file LXePMTHit.cc.

63  {
64  fPmtNumber = right.fPmtNumber;
65  fPhotons=right.fPhotons;
66  fPhysVol=right.fPhysVol;
67  fDrawit=right.fDrawit;
68  return *this;
69 }
G4int LXePMTHit::operator== ( const LXePMTHit right) const

Definition at line 73 of file LXePMTHit.cc.

73  {
74  return (fPmtNumber==right.fPmtNumber);
75 }
void LXePMTHit::Print ( void  )
virtual

Reimplemented from G4VHit.

Definition at line 97 of file LXePMTHit.cc.

97 {}
void LXePMTHit::SetDrawit ( G4bool  b)
inline

Definition at line 65 of file LXePMTHit.hh.

References test::b.

Referenced by LXePMTSD::ProcessHits_constStep().

65 {fDrawit=b;}
void LXePMTHit::SetPMTNumber ( G4int  n)
inline

Definition at line 71 of file LXePMTHit.hh.

References n.

Referenced by LXePMTSD::ProcessHits_constStep().

71 { fPmtNumber = n; }
const G4int n
void LXePMTHit::SetPMTPhysVol ( G4VPhysicalVolume physVol)
inline

Definition at line 74 of file LXePMTHit.hh.

Referenced by LXePMTSD::ProcessHits_constStep().

74 {this->fPhysVol=physVol;}
void LXePMTHit::SetPMTPos ( G4double  x,
G4double  y,
G4double  z 
)
inline

Definition at line 77 of file LXePMTHit.hh.

Referenced by LXePMTSD::ProcessHits_constStep().

77  {
78  fPos=G4ThreeVector(x,y,z);
79  }
CLHEP::Hep3Vector G4ThreeVector
G4double z
Definition: TRTMaterials.hh:39

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