CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Attributes
sim::LocalFieldManager Class Reference

#include <LocalFieldManager.h>

Inheritance diagram for sim::LocalFieldManager:

Public Member Functions

virtual void ConfigureForTrack (const G4Track *trk)
 
 LocalFieldManager ()
 
 LocalFieldManager (G4Field *commonField, G4FieldManager *priFM, G4FieldManager *altFM)
 
void SetVerbosity (bool flag)
 
virtual ~LocalFieldManager ()
 

Protected Member Functions

const G4FieldManager * CopyValuesAndChordFinder (G4FieldManager *fm)
 
void print (const G4Track *trk)
 

Private Attributes

G4FieldManager * fAlternativeFM
 
G4FieldManager * fCurrentFM
 
G4FieldManager * fPrimaryFM
 
bool fVerbosity
 

Detailed Description

Definition at line 8 of file LocalFieldManager.h.

Constructor & Destructor Documentation

sim::LocalFieldManager::LocalFieldManager ( )
inline

Definition at line 12 of file LocalFieldManager.h.

12 : G4FieldManager() {}
virtual sim::LocalFieldManager::~LocalFieldManager ( )
inlinevirtual

Definition at line 13 of file LocalFieldManager.h.

13 {}
LocalFieldManager::LocalFieldManager ( G4Field *  commonField,
G4FieldManager *  priFM,
G4FieldManager *  altFM 
)

Definition at line 14 of file LocalFieldManager.cc.

References CopyValuesAndChordFinder(), and fCurrentFM.

17  : G4FieldManager(commonField,0,false),
18  fPrimaryFM(priFM), fAlternativeFM(altFM),
19  fCurrentFM(0),
20  fVerbosity(false)
21 {
22  this->CopyValuesAndChordFinder(priFM);
23  fCurrentFM = priFM ;
24 }
G4FieldManager * fCurrentFM
G4FieldManager * fAlternativeFM
const G4FieldManager * CopyValuesAndChordFinder(G4FieldManager *fm)
G4FieldManager * fPrimaryFM

Member Function Documentation

void LocalFieldManager::ConfigureForTrack ( const G4Track *  trk)
virtual

Definition at line 26 of file LocalFieldManager.cc.

References funct::abs(), CopyValuesAndChordFinder(), fAlternativeFM, fCurrentFM, fPrimaryFM, fVerbosity, print(), and reco::return().

27 {
28 
29  int PID = trk->GetDynamicParticle()->GetDefinition()->GetPDGEncoding();
30 
31  if ( abs(PID)!=13 ) // maybe also high energy pions ?... what else ?
32  {
33  if ( fCurrentFM != fAlternativeFM )
34  {
37  if ( fVerbosity) print(trk);
38  }
39  }
40  else
41  {
42  if ( fCurrentFM != fPrimaryFM )
43  {
46  if ( fVerbosity) print(trk);
47  }
48  }
49 
50  return ;
51 
52 }
G4FieldManager * fCurrentFM
G4FieldManager * fAlternativeFM
const G4FieldManager * CopyValuesAndChordFinder(G4FieldManager *fm)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
void print(const G4Track *trk)
return(e1-e2)*(e1-e2)+dp *dp
G4FieldManager * fPrimaryFM
const G4FieldManager * LocalFieldManager::CopyValuesAndChordFinder ( G4FieldManager *  fm)
protected

Definition at line 54 of file LocalFieldManager.cc.

Referenced by ConfigureForTrack(), and LocalFieldManager().

55 {
56 
57  SetDeltaIntersection(fm->GetDeltaIntersection());
58  SetDeltaOneStep(fm->GetDeltaOneStep());
59  G4ChordFinder* cf = fm->GetChordFinder();
60  cf->SetDeltaChord(cf->GetDeltaChord());
61  SetChordFinder(cf);
62 
63  return fm;
64 
65 }
void LocalFieldManager::print ( const G4Track *  trk)
protected

Definition at line 67 of file LocalFieldManager.cc.

References gather_cfg::cout, fAlternativeFM, fCurrentFM, MeV, and reco::return().

Referenced by ConfigureForTrack().

68 {
69 
71  {
72  std::cout << " Alternative field manager with";
73  }
74  else
75  {
76  std::cout << " Global field manager with";
77  }
78  std::cout << " DeltaIntersection " << G4FieldManager::GetDeltaIntersection()
79  << ", DeltaOneStep " << G4FieldManager::GetDeltaOneStep()
80  << " and DeltaChord " << G4FieldManager::GetChordFinder()->GetDeltaChord()
81  << " for " << trk->GetDynamicParticle()->GetDefinition()->GetPDGEncoding()
82  << " with " << trk->GetKineticEnergy()/MeV << " MeV in "
83  << trk->GetVolume()->GetName() << std::endl;
84 
85  return ;
86 
87 }
G4FieldManager * fCurrentFM
G4FieldManager * fAlternativeFM
const double MeV
return(e1-e2)*(e1-e2)+dp *dp
tuple cout
Definition: gather_cfg.py:145
void sim::LocalFieldManager::SetVerbosity ( bool  flag)
inline

Definition at line 18 of file LocalFieldManager.h.

References fVerbosity.

Referenced by sim::FieldBuilder::build().

18 { fVerbosity=flag; return; }

Member Data Documentation

G4FieldManager* sim::LocalFieldManager::fAlternativeFM
private

Definition at line 25 of file LocalFieldManager.h.

Referenced by ConfigureForTrack(), and print().

G4FieldManager* sim::LocalFieldManager::fCurrentFM
private

Definition at line 26 of file LocalFieldManager.h.

Referenced by ConfigureForTrack(), LocalFieldManager(), and print().

G4FieldManager* sim::LocalFieldManager::fPrimaryFM
private

Definition at line 24 of file LocalFieldManager.h.

Referenced by ConfigureForTrack().

bool sim::LocalFieldManager::fVerbosity
private

Definition at line 27 of file LocalFieldManager.h.

Referenced by ConfigureForTrack(), and SetVerbosity().