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

#include <G4CollisionInitialState.hh>

Public Member Functions

 G4CollisionInitialState ()
 
 G4CollisionInitialState (G4double time, G4KineticTrack *aPrimary, G4KineticTrack *aTarget)
 
 G4CollisionInitialState (G4double time, G4KineticTrack *aPrimary, const G4KineticTrackVector &aTarget, G4BCAction *aFSGenerator)
 
 ~G4CollisionInitialState ()
 
 G4CollisionInitialState (const G4CollisionInitialState &right)
 
G4CollisionInitialState & operator= (const G4CollisionInitialState &right)
 
int operator< (const G4CollisionInitialState &right) const
 
int operator== (const G4CollisionInitialState &right) const
 
G4KineticTrack * GetPrimary (void)
 
void SetPrimary (G4KineticTrack *aPrimary)
 
G4KineticTrack * GetTarget (void)
 
void SetTarget (G4KineticTrack *aTarget)
 
void AddTarget (G4KineticTrack *aTarget)
 
G4KineticTrackVector & GetTargetCollection (void)
 
G4KineticTrackVector * GetFinalState ()
 
G4int GetTargetBaryonNumber ()
 
G4int GetTargetCharge ()
 
G4double GetCollisionTime (void)
 
void SetCollisionTime (G4double value)
 
G4BCAction * GetGenerator ()
 
void Print () const
 

Detailed Description

Definition at line 46 of file G4CollisionInitialState.hh.

Constructor & Destructor Documentation

G4CollisionInitialState::G4CollisionInitialState ( )

Definition at line 38 of file G4CollisionInitialState.cc.

38  :
39  theCollisionTime(DBL_MAX), thePrimary(0), theTarget(0), theFSGenerator(0)
40 {
41 }
G4ErrorTarget * theTarget
Definition: errprop.cc:59
#define DBL_MAX
Definition: templates.hh:83
G4CollisionInitialState::G4CollisionInitialState ( G4double  time,
G4KineticTrack *  aPrimary,
G4KineticTrack *  aTarget 
)

Definition at line 44 of file G4CollisionInitialState.cc.

46 {
47  theCollisionTime = time;
48  thePrimary = aPrimary;
49  theTarget = aTarget;
50  theTs.clear();
51  theFSGenerator = 0;
52 }
G4ErrorTarget * theTarget
Definition: errprop.cc:59
G4CollisionInitialState::G4CollisionInitialState ( G4double  time,
G4KineticTrack *  aPrimary,
const G4KineticTrackVector &  aTarget,
G4BCAction *  aFSGenerator 
)

Definition at line 55 of file G4CollisionInitialState.cc.

58 {
59  theCollisionTime = time;
60  thePrimary = aPrimary;
61  theTarget = 0;
62  for (size_t i=0; i<aTarget.size(); i++) theTs.push_back(aTarget[i]);
63  theFSGenerator = aFSGenerator;
64 }
G4ErrorTarget * theTarget
Definition: errprop.cc:59
G4CollisionInitialState::~G4CollisionInitialState ( )
inline

Definition at line 57 of file G4CollisionInitialState.hh.

57 { }
G4CollisionInitialState::G4CollisionInitialState ( const G4CollisionInitialState &  right)

Definition at line 68 of file G4CollisionInitialState.cc.

69 {
70  theCollisionTime = right.theCollisionTime;
71  thePrimary = right.thePrimary;
72  theTarget = right.theTarget;
73  for (size_t i=0; i<right.theTs.size(); i++) theTs.push_back(right.theTs[i]);
74  theFSGenerator = right.theFSGenerator;
75 }
G4ErrorTarget * theTarget
Definition: errprop.cc:59

Member Function Documentation

void G4CollisionInitialState::AddTarget ( G4KineticTrack *  aTarget)
inline

Definition at line 79 of file G4CollisionInitialState.hh.

80  {theTs.push_back(aTarget);}
G4double G4CollisionInitialState::GetCollisionTime ( void  )
inline

Definition at line 105 of file G4CollisionInitialState.hh.

Referenced by G4CollisionManager::Print(), and G4BinaryCascade::Propagate().

106  {return theCollisionTime;}
G4KineticTrackVector * G4CollisionInitialState::GetFinalState ( )

Definition at line 95 of file G4CollisionInitialState.cc.

References G4BCAction::GetFinalState().

96  {
97 // G4cerr << "what is the FS generator? "
98 // << typeid(*theFSGenerator).name()
99 // <<G4endl;
100  return theFSGenerator->GetFinalState(thePrimary, theTs);
101  }
virtual G4KineticTrackVector * GetFinalState(G4KineticTrack *aProjectile, std::vector< G4KineticTrack * > &theTargets)=0
G4BCAction* G4CollisionInitialState::GetGenerator ( )
inline

Definition at line 111 of file G4CollisionInitialState.hh.

Referenced by G4CollisionManager::Print().

112  {
113  return theFSGenerator;
114  }
G4KineticTrack* G4CollisionInitialState::GetPrimary ( void  )
inline

Definition at line 69 of file G4CollisionInitialState.hh.

Referenced by G4CollisionManager::Print(), and G4CollisionManager::RemoveTracksCollisions().

70  {return thePrimary;}
G4KineticTrack* G4CollisionInitialState::GetTarget ( void  )
inline

Definition at line 74 of file G4CollisionInitialState.hh.

Referenced by G4CollisionManager::Print(), and G4CollisionManager::RemoveTracksCollisions().

75  {return theTarget;}
G4ErrorTarget * theTarget
Definition: errprop.cc:59
G4int G4CollisionInitialState::GetTargetBaryonNumber ( )
inline

Definition at line 84 of file G4CollisionInitialState.hh.

References G4lrint().

85  {
86  G4double result=0;
87  for(size_t i=0; i<theTs.size(); i++)
88  {
89  result += theTs[i]->GetDefinition()->GetBaryonNumber();
90  }
91  return G4lrint(result);
92  }
int G4lrint(double ad)
Definition: templates.hh:163
double G4double
Definition: G4Types.hh:76
G4int G4CollisionInitialState::GetTargetCharge ( )
inline

Definition at line 93 of file G4CollisionInitialState.hh.

References G4lrint().

94  {
95  G4double result=0;
96  for(size_t i=0; i<theTs.size(); i++)
97  {
98  result += theTs[i]->GetDefinition()->GetPDGCharge();
99  }
100  return G4lrint(result);
101  }
int G4lrint(double ad)
Definition: templates.hh:163
double G4double
Definition: G4Types.hh:76
G4KineticTrackVector& G4CollisionInitialState::GetTargetCollection ( void  )
inline

Definition at line 81 of file G4CollisionInitialState.hh.

Referenced by G4CollisionManager::RemoveTracksCollisions().

82  {return theTs;}
int G4CollisionInitialState::operator< ( const G4CollisionInitialState &  right) const
inline

Definition at line 62 of file G4CollisionInitialState.hh.

63  {return (theCollisionTime < right.theCollisionTime);}
G4CollisionInitialState & G4CollisionInitialState::operator= ( const G4CollisionInitialState &  right)

Definition at line 77 of file G4CollisionInitialState.cc.

78 {
79  if (this != &right)
80  {
81  theCollisionTime = right.theCollisionTime;
82  thePrimary = right.thePrimary;
83  theTarget = right.theTarget;
84  for (size_t i=0; i<right.theTs.size(); i++)
85  theTs.push_back(right.theTs[i]);
86  theFSGenerator = right.theFSGenerator;
87  }
88 
89  return *this;
90 }
G4ErrorTarget * theTarget
Definition: errprop.cc:59
int G4CollisionInitialState::operator== ( const G4CollisionInitialState &  right) const
inline

Definition at line 65 of file G4CollisionInitialState.hh.

66  {return (theCollisionTime == right.theCollisionTime);}
void G4CollisionInitialState::Print ( void  ) const

Definition at line 105 of file G4CollisionInitialState.cc.

References G4cout, G4KineticTrack::GetDefinition(), G4ParticleDefinition::GetPDGEncoding(), and python.hepunit::second.

106 {
107  G4int tgtPdg=theTarget ?
108  theTarget->GetDefinition()->GetPDGEncoding() : 0;
109  G4cout << " collision " << this << " time: "
110  << theCollisionTime/second << " proj: "
111  << thePrimary << "/pdg=" << thePrimary->GetDefinition()->GetPDGEncoding()
112  << " tgt: " << theTarget << "/pdg=" << tgtPdg
113  << " Collision type: "<< typeid(*theFSGenerator).name();
114 
115 }
int G4int
Definition: G4Types.hh:78
G4ParticleDefinition * GetDefinition() const
G4GLOB_DLL std::ostream G4cout
G4ErrorTarget * theTarget
Definition: errprop.cc:59
void G4CollisionInitialState::SetCollisionTime ( G4double  value)
inline

Definition at line 107 of file G4CollisionInitialState.hh.

108  {theCollisionTime = value;}
const XML_Char int const XML_Char * value
void G4CollisionInitialState::SetPrimary ( G4KineticTrack *  aPrimary)
inline

Definition at line 71 of file G4CollisionInitialState.hh.

72  {thePrimary = aPrimary;}
void G4CollisionInitialState::SetTarget ( G4KineticTrack *  aTarget)
inline

Definition at line 76 of file G4CollisionInitialState.hh.

77  {theTarget = aTarget;}
G4ErrorTarget * theTarget
Definition: errprop.cc:59

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