Geant4  10.02.p03
G4PolarizationManager Class Reference

#include <G4PolarizationManager.hh>

Collaboration diagram for G4PolarizationManager:

Public Member Functions

virtual ~G4PolarizationManager ()
 
void ListVolumes ()
 
void Clean ()
 
void SetVolumePolarization (G4LogicalVolume *lVol, const G4ThreeVector &pol)
 
void SetVolumePolarization (const G4String &lVolName, const G4ThreeVector &pol)
 
const G4ThreeVector & GetVolumePolarization (G4LogicalVolume *lVol) const
 
bool IsPolarized (G4LogicalVolume *lVol) const
 
void SetVerbose (G4int val)
 
G4int GetVerbose () const
 
void SetActivated (G4bool val)
 
bool IsActivated () const
 

Static Public Member Functions

static G4PolarizationManager * GetInstance ()
 
static void Dispose ()
 

Private Member Functions

 G4PolarizationManager ()
 

Private Attributes

G4ThreeVector zeroPolarization
 
PolarizationMap volumePolarizations
 
G4PolarizationMessenger * messenger
 
G4int verboseLevel
 
G4bool activated
 

Static Private Attributes

static G4ThreadLocal G4PolarizationManager * instance = 0
 

Detailed Description

Definition at line 60 of file G4PolarizationManager.hh.

Constructor & Destructor Documentation

◆ ~G4PolarizationManager()

G4PolarizationManager::~G4PolarizationManager ( )
virtual

Definition at line 73 of file G4PolarizationManager.cc.

74 {
75 }

◆ G4PolarizationManager()

G4PolarizationManager::G4PolarizationManager ( )
private

Definition at line 67 of file G4PolarizationManager.cc.

Here is the caller graph for this function:

Member Function Documentation

◆ Clean()

void G4PolarizationManager::Clean ( )
inline

Definition at line 127 of file G4PolarizationManager.hh.

127 { volumePolarizations.clear(); }
PolarizationMap volumePolarizations

◆ Dispose()

void G4PolarizationManager::Dispose ( )
static

Definition at line 58 of file G4PolarizationManager.cc.

59 {
60  if (instance != 0)
61  {
62  delete instance;
63  instance = 0;
64  }
65 }
static G4ThreadLocal G4PolarizationManager * instance

◆ GetInstance()

G4PolarizationManager * G4PolarizationManager::GetInstance ( void  )
static

Definition at line 52 of file G4PolarizationManager.cc.

53 {
54  if (instance == 0) instance = new G4PolarizationManager();
55  return instance;
56 }
static G4ThreadLocal G4PolarizationManager * instance
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetVerbose()

G4int G4PolarizationManager::GetVerbose ( ) const
inline

Definition at line 118 of file G4PolarizationManager.hh.

Here is the caller graph for this function:

◆ GetVolumePolarization()

const G4ThreeVector & G4PolarizationManager::GetVolumePolarization ( G4LogicalVolume *  lVol) const
inline

Definition at line 98 of file G4PolarizationManager.hh.

99 {
100  if (!activated) return zeroPolarization;
101  PolarizationMap::const_iterator cit=volumePolarizations.find(lVol);
102  if (cit!=volumePolarizations.end()) return cit->second;
103  return zeroPolarization;
104 }
PolarizationMap volumePolarizations
Here is the caller graph for this function:

◆ IsActivated()

bool G4PolarizationManager::IsActivated ( ) const
inline

Definition at line 123 of file G4PolarizationManager.hh.

123 { return activated; }

◆ IsPolarized()

bool G4PolarizationManager::IsPolarized ( G4LogicalVolume *  lVol) const
inline

Definition at line 108 of file G4PolarizationManager.hh.

109 {
110  if (!activated) return false;
111  PolarizationMap::const_iterator cit=volumePolarizations.find(lVol);
112  return (cit!=volumePolarizations.end());
113 }
PolarizationMap volumePolarizations
Here is the caller graph for this function:

◆ ListVolumes()

void G4PolarizationManager::ListVolumes ( )

Definition at line 77 of file G4PolarizationManager.cc.

78 {
79  if (volumePolarizations.size()==0) return;
80  G4cout<<" Polarization for "<<volumePolarizations.size()
81  <<" registered volume(s) : "<<G4endl;
82  if (!activated)
83  G4cout<<" but polarization deactivated "<<G4endl;
84  for (PolarizationMap::const_iterator cit=volumePolarizations.begin();
85  cit!=volumePolarizations.end();cit++) {
86  G4cout<<cit->first->GetName()<<" : "<<cit->second<<G4endl;
87  }
88 }
G4GLOB_DLL std::ostream G4cout
PolarizationMap volumePolarizations
#define G4endl
Definition: G4ios.hh:61
Here is the caller graph for this function:

◆ SetActivated()

void G4PolarizationManager::SetActivated ( G4bool  val)
inline

Definition at line 122 of file G4PolarizationManager.hh.

122 { activated = val; }
Here is the caller graph for this function:

◆ SetVerbose()

void G4PolarizationManager::SetVerbose ( G4int  val)
inline

Definition at line 117 of file G4PolarizationManager.hh.

Here is the caller graph for this function:

◆ SetVolumePolarization() [1/2]

void G4PolarizationManager::SetVolumePolarization ( G4LogicalVolume *  lVol,
const G4ThreeVector &  pol 
)

Definition at line 90 of file G4PolarizationManager.cc.

91 {
92  volumePolarizations[lVol]=pol;
93  if (verboseLevel>=1) G4cout<<" SetVolumePolarization "
94  <<lVol->GetName()<<" "
95  <<pol<<G4endl;
96 }
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
PolarizationMap volumePolarizations
#define G4endl
Definition: G4ios.hh:61
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetVolumePolarization() [2/2]

void G4PolarizationManager::SetVolumePolarization ( const G4String &  lVolName,
const G4ThreeVector &  pol 
)

Definition at line 98 of file G4PolarizationManager.cc.

99 {
100  for (PolarizationMap::iterator it=volumePolarizations.begin();
101  it!=volumePolarizations.end();it++) {
102  if (it->first->GetName()==lVolName) {
103  it->second=pol;
104  if (verboseLevel>=1) G4cout<<" SetVolumePolarization "
105  <<lVolName<<" "
106  <<pol<<G4endl;
107  return;
108  }
109  }
110  G4cout<<" logical volume '"<<lVolName<<"'not registerd yet \n"
111  <<" please register before using '/polarization/volume/set' "<<G4endl;
112 }
G4GLOB_DLL std::ostream G4cout
PolarizationMap volumePolarizations
#define G4endl
Definition: G4ios.hh:61

Member Data Documentation

◆ activated

G4bool G4PolarizationManager::activated
private

Definition at line 90 of file G4PolarizationManager.hh.

◆ instance

G4ThreadLocal G4PolarizationManager * G4PolarizationManager::instance = 0
staticprivate

Definition at line 92 of file G4PolarizationManager.hh.

◆ messenger

G4PolarizationMessenger* G4PolarizationManager::messenger
private

Definition at line 87 of file G4PolarizationManager.hh.

◆ verboseLevel

G4int G4PolarizationManager::verboseLevel
private

Definition at line 89 of file G4PolarizationManager.hh.

◆ volumePolarizations

PolarizationMap G4PolarizationManager::volumePolarizations
private

Definition at line 86 of file G4PolarizationManager.hh.

◆ zeroPolarization

G4ThreeVector G4PolarizationManager::zeroPolarization
private

Definition at line 85 of file G4PolarizationManager.hh.


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