MollerDetectorHit Class Reference

#include <MollerDetectorHit.hh>

Public Member Functions

 MollerDetectorHit ()
 MollerDetectorHit (G4int z)
virtual ~MollerDetectorHit ()
 MollerDetectorHit (const MollerDetectorHit &right)
const MollerDetectorHitoperator= (const MollerDetectorHit &right)
int operator== (const MollerDetectorHit &right) const
void * operator new (size_t)
void operator delete (void *aHit)
virtual void Draw ()
virtual const std::map
< G4String, G4AttDef > * 
GetAttDefs () const
virtual std::vector< G4AttValue > * CreateAttValues () const
virtual void Print ()
void SetLayerID (G4int z)
G4int GetLayerID () const
void SetTrackID (G4int id)
G4int GetTrackID () const
void SetWorldPos (G4ThreeVector xyz)
G4ThreeVector GetWorldPos () const
void SetVertexPos (G4ThreeVector xyz)
G4ThreeVector GetVertexPos () const
void SetMomentum (G4ThreeVector xyz)
G4ThreeVector GetMomentum () const
void SetKineticEnergy (G4double e)
G4double GetKineticEnergy ()
void SetMomentum0 (G4ThreeVector xyz)
G4ThreeVector GetMomentum0 () const
void SetMomentum1 (G4ThreeVector xyz)
G4ThreeVector GetMomentum1 () const
void SetMomentum2 (G4ThreeVector xyz)
G4ThreeVector GetMomentum2 () const
void SetKineticEnergy0 (G4double e)
G4double GetKineticEnergy0 ()
void SetKineticEnergy1 (G4double e)
G4double GetKineticEnergy1 ()
void SetKineticEnergy2 (G4double e)
G4double GetKineticEnergy2 ()
void SetScatAngle (G4double ang)
G4double GetScatAngle ()
void SetCreatorProcess (G4String creator)
G4String GetCreatorProcess () const
void SetParticleName (G4String name)
G4String GetParticleName () const
void SetIon (G4bool i)
G4bool GetIon () const
void SetType (G4int i)
G4int GetType () const
void SetVolume (G4double i)
G4double GetVolume () const

Private Attributes

G4int layerID
G4int partType
G4int trackID
G4double kineE
G4double kineE0
G4double kineE1
G4double kineE2
G4double volume
G4double scat_ang
G4ThreeVector worldPos
G4ThreeVector vertexPos
G4ThreeVector momentum
G4ThreeVector p0
G4ThreeVector p1
G4ThreeVector p2
G4String creatorProcess
G4String particleName
G4bool ion

Detailed Description

Definition at line 19 of file MollerDetectorHit.hh.


Constructor & Destructor Documentation

MollerDetectorHit::MollerDetectorHit (  ) 

Definition at line 22 of file MollerDetectorHit.cc.

References creatorProcess, ion, kineE, kineE0, layerID, particleName, trackID, vertexPos, and worldPos.

00023 {
00024   layerID = -1;
00025   trackID = -1;
00026 
00027   worldPos = G4ThreeVector(0,0,0);
00028   vertexPos = G4ThreeVector(0,0,0);
00029 
00030   kineE=0;
00031   kineE0=0;
00032   
00033   creatorProcess = "";
00034   particleName = "";
00035   ion = 0;
00036 }

MollerDetectorHit::MollerDetectorHit ( G4int  z  ) 

Definition at line 38 of file MollerDetectorHit.cc.

References creatorProcess, ion, kineE, kineE0, layerID, particleName, trackID, vertexPos, and worldPos.

00039 {
00040   layerID = z;
00041   trackID = -1;
00042 
00043   worldPos = G4ThreeVector(0,0,0);
00044   vertexPos = G4ThreeVector(0,0,0);
00045 
00046   kineE=0;
00047   kineE0=0;
00048 
00049   creatorProcess = "";
00050   particleName = "";
00051   ion = 0;
00052 }

MollerDetectorHit::~MollerDetectorHit (  )  [virtual]

Definition at line 54 of file MollerDetectorHit.cc.

00055 {;}

MollerDetectorHit::MollerDetectorHit ( const MollerDetectorHit right  ) 

Definition at line 57 of file MollerDetectorHit.cc.

References creatorProcess, ion, kineE, kineE0, layerID, particleName, trackID, vertexPos, and worldPos.

00058   : G4VHit()
00059 {
00060 
00061   layerID = right.layerID;
00062   trackID = right.trackID;
00063   worldPos = right.worldPos;
00064   vertexPos = right.vertexPos;
00065 
00066   kineE=right.kineE;
00067   kineE0=right.kineE0;
00068 
00069   creatorProcess = right.creatorProcess;
00070   particleName = right.particleName;
00071   ion = right.ion;
00072 }


Member Function Documentation

std::vector< G4AttValue > * MollerDetectorHit::CreateAttValues (  )  const [virtual]

Definition at line 149 of file MollerDetectorHit.cc.

References creatorProcess, ion, layerID, particleName, trackID, and worldPos.

00150 {
00151   std::vector<G4AttValue>* values = new std::vector<G4AttValue>;
00152 
00153   values->push_back(G4AttValue("HitType","MolleDetectorHit",""));
00154 
00155   values->push_back
00156     (G4AttValue("ID",G4UIcommand::ConvertToString(layerID),""));
00157 
00158   values->push_back
00159     (G4AttValue("trackID",G4UIcommand::ConvertToString(trackID),""));
00160 
00161   values->push_back
00162     (G4AttValue("Pos",G4BestUnit(worldPos,"Length"),""));
00163 
00164   values->push_back
00165     (G4AttValue("Creator",creatorProcess,""));
00166 
00167   values->push_back
00168     (G4AttValue("Name",particleName,""));
00169 
00170   values->push_back
00171     (G4AttValue("Ion",ion,""));
00172 
00173   return values;
00174 
00175 }

void MollerDetectorHit::Draw (  )  [virtual]

Definition at line 99 of file MollerDetectorHit.cc.

References worldPos.

00100 {
00101   G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
00102   if(pVVisManager)
00103   {
00104     G4Circle circle(worldPos);
00105     circle.SetScreenSize(0.04);
00106     circle.SetFillStyle(G4Circle::filled);
00107     G4Colour colour(1.,0.,0.);
00108     G4VisAttributes attribs(colour);
00109     circle.SetVisAttributes(attribs);
00110     pVVisManager->Draw(circle);
00111   }
00112 }

const std::map< G4String, G4AttDef > * MollerDetectorHit::GetAttDefs (  )  const [virtual]

Definition at line 114 of file MollerDetectorHit.cc.

References trackID.

00115 {
00116   G4bool isNew;
00117   std::map<G4String,G4AttDef>* store
00118     = G4AttDefStore::GetInstance("MollerDetectorHit",isNew);
00119 
00120   if (isNew) {
00121     G4String HitType("HitType");
00122     (*store)[HitType] = G4AttDef(HitType,"Hit Type","Physics","","G4String");
00123 
00124     G4String ID("ID");
00125     (*store)[ID] = G4AttDef(ID,"ID","Physics","","G4int");
00126 
00127     G4String trackID("trackID");
00128     (*store)[trackID] = G4AttDef(trackID,"trackID","Physics","","G4int");
00129 
00130     G4String Pos("Pos");
00131     (*store)[Pos] = G4AttDef(Pos, "Position",
00132           "Physics","G4BestUnit","G4ThreeVector");
00133 
00134     G4String Creator("Creator");
00135     (*store)[Creator] = G4AttDef(Creator, "CreatorProcess",
00136          "Physics","","G4String");
00137 
00138     G4String Name("Name");
00139     (*store)[Name] = G4AttDef(Name, "ParticleName",
00140           "Physics","","G4String");
00141 
00142     G4String Ion("Ion");
00143     (*store)[Ion] = G4AttDef(Ion, "IsMoller",
00144     "Physics","","G4bool");
00145   }
00146   return store;
00147 }

G4String MollerDetectorHit::GetCreatorProcess (  )  const [inline]

Definition at line 108 of file MollerDetectorHit.hh.

References creatorProcess.

00109   { return creatorProcess; }

G4bool MollerDetectorHit::GetIon (  )  const [inline]

Definition at line 117 of file MollerDetectorHit.hh.

References ion.

Referenced by MollerAnalysis::AddData().

00118   { return ion; }

Here is the caller graph for this function:

G4double MollerDetectorHit::GetKineticEnergy (  )  [inline]

Definition at line 71 of file MollerDetectorHit.hh.

References kineE.

Referenced by MollerAnalysis::AddData().

00072   { return kineE; }

Here is the caller graph for this function:

G4double MollerDetectorHit::GetKineticEnergy0 (  )  [inline]

Definition at line 90 of file MollerDetectorHit.hh.

References kineE0.

00091   { return kineE0; }

G4double MollerDetectorHit::GetKineticEnergy1 (  )  [inline]

Definition at line 94 of file MollerDetectorHit.hh.

References kineE1.

00095   { return kineE1; }

G4double MollerDetectorHit::GetKineticEnergy2 (  )  [inline]

Definition at line 98 of file MollerDetectorHit.hh.

References kineE2.

00099   { return kineE2; }

G4int MollerDetectorHit::GetLayerID (  )  const [inline]

Definition at line 48 of file MollerDetectorHit.hh.

References layerID.

00049   { return layerID; }

G4ThreeVector MollerDetectorHit::GetMomentum (  )  const [inline]

Definition at line 67 of file MollerDetectorHit.hh.

References momentum.

Referenced by MollerAnalysis::AddData().

00068   { return momentum; }

Here is the caller graph for this function:

G4ThreeVector MollerDetectorHit::GetMomentum0 (  )  const [inline]

Definition at line 77 of file MollerDetectorHit.hh.

References p0.

00078   { return p0; }

G4ThreeVector MollerDetectorHit::GetMomentum1 (  )  const [inline]

Definition at line 81 of file MollerDetectorHit.hh.

References p1.

00082   { return p1; }

G4ThreeVector MollerDetectorHit::GetMomentum2 (  )  const [inline]

Definition at line 85 of file MollerDetectorHit.hh.

References p2.

00086   { return p2; }

G4String MollerDetectorHit::GetParticleName (  )  const [inline]

Definition at line 112 of file MollerDetectorHit.hh.

References particleName.

00113   { return particleName; }

G4double MollerDetectorHit::GetScatAngle (  )  [inline]

Definition at line 103 of file MollerDetectorHit.hh.

References scat_ang.

00104   { return scat_ang; }

G4int MollerDetectorHit::GetTrackID (  )  const [inline]

Definition at line 53 of file MollerDetectorHit.hh.

References trackID.

Referenced by MollerAnalysis::AddData(), and MollerAnalysis::EndOfEventAction().

00054   { return trackID; }

Here is the caller graph for this function:

G4int MollerDetectorHit::GetType (  )  const [inline]

Definition at line 121 of file MollerDetectorHit.hh.

References partType.

Referenced by MollerAnalysis::AddData(), and MollerAnalysis::EndOfEventAction().

00122   { return partType; }

Here is the caller graph for this function:

G4ThreeVector MollerDetectorHit::GetVertexPos (  )  const [inline]

Definition at line 62 of file MollerDetectorHit.hh.

References vertexPos.

Referenced by MollerAnalysis::AddData().

00063   { return vertexPos; }

Here is the caller graph for this function:

G4double MollerDetectorHit::GetVolume (  )  const [inline]

Definition at line 125 of file MollerDetectorHit.hh.

References volume.

Referenced by MollerAnalysis::AddData().

00126   { return volume; }

Here is the caller graph for this function:

G4ThreeVector MollerDetectorHit::GetWorldPos (  )  const [inline]

Definition at line 58 of file MollerDetectorHit.hh.

References worldPos.

Referenced by MollerAnalysis::AddData().

00059   { return worldPos; }

Here is the caller graph for this function:

void MollerDetectorHit::operator delete ( void *  aHit  )  [inline]

Definition at line 165 of file MollerDetectorHit.hh.

References MollerDetectorHitAllocator.

00166 {
00167   MollerDetectorHitAllocator.FreeSingle((MollerDetectorHit*) aHit);
00168 }

void * MollerDetectorHit::operator new ( size_t   )  [inline]

Definition at line 158 of file MollerDetectorHit.hh.

References MollerDetectorHitAllocator.

00159 {
00160   void *aHit;
00161   aHit = (void *) MollerDetectorHitAllocator.MallocSingle();
00162   return aHit;
00163 }

const MollerDetectorHit & MollerDetectorHit::operator= ( const MollerDetectorHit right  ) 

Definition at line 74 of file MollerDetectorHit.cc.

References creatorProcess, ion, kineE, kineE0, layerID, particleName, trackID, vertexPos, and worldPos.

00075 {
00076 
00077   layerID = right.layerID;
00078   trackID = right.trackID;
00079   worldPos = right.worldPos;
00080   vertexPos = right.vertexPos;
00081 
00082   kineE=right.kineE;
00083   kineE0=right.kineE0;
00084 
00085   creatorProcess = right.creatorProcess;
00086   particleName = right.particleName;
00087   ion = right.ion;
00088 
00089   return *this;
00090 }

int MollerDetectorHit::operator== ( const MollerDetectorHit right  )  const

Definition at line 92 of file MollerDetectorHit.cc.

00093 {
00094   return  0;
00095 }

void MollerDetectorHit::Print (  )  [virtual]

Definition at line 177 of file MollerDetectorHit.cc.

References creatorProcess, kineE, kineE0, layerID, particleName, vertexPos, and worldPos.

00178 {  
00179   G4cout << "  Layer[" << layerID << "] : Particle type: " << particleName 
00180    << " created by " << creatorProcess << " \nat (x,y,z) " 
00181    << vertexPos.x() << ", " << vertexPos.y() << ", " << vertexPos.z()  
00182    << " with KineE0= " << kineE0/GeV << "[GeV]" 
00183    << " hit detector \nat (x,y,z) " << worldPos.x()
00184          << ", " << worldPos.y() << ", " << worldPos.z() 
00185    << " with KineE= " << kineE/GeV << "[GeV]\n" 
00186    << G4endl;
00187 }

void MollerDetectorHit::SetCreatorProcess ( G4String  creator  )  [inline]

Definition at line 106 of file MollerDetectorHit.hh.

References creatorProcess.

Referenced by MollerDetectorSD::ProcessHits().

00107   { creatorProcess = creator; }

Here is the caller graph for this function:

void MollerDetectorHit::SetIon ( G4bool  i  )  [inline]

Definition at line 115 of file MollerDetectorHit.hh.

References ion.

Referenced by MollerDetectorSD::ProcessHits().

00116   { ion = i; }

Here is the caller graph for this function:

void MollerDetectorHit::SetKineticEnergy ( G4double  e  )  [inline]

Definition at line 69 of file MollerDetectorHit.hh.

References kineE.

Referenced by MollerDetectorSD::ProcessHits().

00070   { kineE = e; }

Here is the caller graph for this function:

void MollerDetectorHit::SetKineticEnergy0 ( G4double  e  )  [inline]

Definition at line 88 of file MollerDetectorHit.hh.

References kineE0.

00089   { kineE0 = e; }

void MollerDetectorHit::SetKineticEnergy1 ( G4double  e  )  [inline]

Definition at line 92 of file MollerDetectorHit.hh.

References kineE1.

00093   { kineE1 = e; }

void MollerDetectorHit::SetKineticEnergy2 ( G4double  e  )  [inline]

Definition at line 96 of file MollerDetectorHit.hh.

References kineE2.

Referenced by MollerDetectorSD::ProcessHits().

00097   { kineE2 = e; }

Here is the caller graph for this function:

void MollerDetectorHit::SetLayerID ( G4int  z  )  [inline]

Definition at line 46 of file MollerDetectorHit.hh.

References layerID.

00047   { layerID = z; }

void MollerDetectorHit::SetMomentum ( G4ThreeVector  xyz  )  [inline]

Definition at line 65 of file MollerDetectorHit.hh.

References momentum.

Referenced by MollerDetectorSD::ProcessHits().

00066   { momentum = xyz; }

Here is the caller graph for this function:

void MollerDetectorHit::SetMomentum0 ( G4ThreeVector  xyz  )  [inline]

Definition at line 75 of file MollerDetectorHit.hh.

References p0.

00076   { p0 = xyz; }

void MollerDetectorHit::SetMomentum1 ( G4ThreeVector  xyz  )  [inline]

Definition at line 79 of file MollerDetectorHit.hh.

References p1.

00080   { p1 = xyz; }

void MollerDetectorHit::SetMomentum2 ( G4ThreeVector  xyz  )  [inline]

Definition at line 83 of file MollerDetectorHit.hh.

References p2.

Referenced by MollerDetectorSD::ProcessHits().

00084   { p2 = xyz; }

Here is the caller graph for this function:

void MollerDetectorHit::SetParticleName ( G4String  name  )  [inline]

Definition at line 110 of file MollerDetectorHit.hh.

References particleName.

Referenced by MollerDetectorSD::ProcessHits().

00111   { particleName = name; }

Here is the caller graph for this function:

void MollerDetectorHit::SetScatAngle ( G4double  ang  )  [inline]

Definition at line 101 of file MollerDetectorHit.hh.

References scat_ang.

Referenced by MollerDetectorSD::ProcessHits().

00102   { scat_ang = ang; }

Here is the caller graph for this function:

void MollerDetectorHit::SetTrackID ( G4int  id  )  [inline]

Definition at line 51 of file MollerDetectorHit.hh.

References trackID.

Referenced by MollerDetectorSD::ProcessHits().

00052   { trackID = id; }

Here is the caller graph for this function:

void MollerDetectorHit::SetType ( G4int  i  )  [inline]

Definition at line 119 of file MollerDetectorHit.hh.

References partType.

Referenced by MollerDetectorSD::ProcessHits().

00120   { partType = i; }

Here is the caller graph for this function:

void MollerDetectorHit::SetVertexPos ( G4ThreeVector  xyz  )  [inline]

Definition at line 60 of file MollerDetectorHit.hh.

References vertexPos.

Referenced by MollerDetectorSD::ProcessHits().

00061   { vertexPos = xyz; }

Here is the caller graph for this function:

void MollerDetectorHit::SetVolume ( G4double  i  )  [inline]

Definition at line 123 of file MollerDetectorHit.hh.

References volume.

Referenced by MollerDetectorSD::ProcessHits().

00124   { volume = i; }

Here is the caller graph for this function:

void MollerDetectorHit::SetWorldPos ( G4ThreeVector  xyz  )  [inline]

Definition at line 56 of file MollerDetectorHit.hh.

References worldPos.

Referenced by MollerDetectorSD::ProcessHits().

00057   { worldPos = xyz; }

Here is the caller graph for this function:


Field Documentation

G4bool MollerDetectorHit::ion [private]

Definition at line 146 of file MollerDetectorHit.hh.

Referenced by CreateAttValues(), GetIon(), MollerDetectorHit(), operator=(), and SetIon().

G4double MollerDetectorHit::kineE [private]
G4double MollerDetectorHit::kineE0 [private]
G4double MollerDetectorHit::kineE1 [private]

Definition at line 132 of file MollerDetectorHit.hh.

Referenced by GetKineticEnergy1(), and SetKineticEnergy1().

G4double MollerDetectorHit::kineE2 [private]

Definition at line 132 of file MollerDetectorHit.hh.

Referenced by GetKineticEnergy2(), and SetKineticEnergy2().

G4int MollerDetectorHit::layerID [private]
G4ThreeVector MollerDetectorHit::momentum [private]

Definition at line 137 of file MollerDetectorHit.hh.

Referenced by GetMomentum(), and SetMomentum().

G4ThreeVector MollerDetectorHit::p0 [private]

Definition at line 139 of file MollerDetectorHit.hh.

Referenced by GetMomentum0(), and SetMomentum0().

G4ThreeVector MollerDetectorHit::p1 [private]

Definition at line 140 of file MollerDetectorHit.hh.

Referenced by GetMomentum1(), and SetMomentum1().

G4ThreeVector MollerDetectorHit::p2 [private]

Definition at line 141 of file MollerDetectorHit.hh.

Referenced by GetMomentum2(), and SetMomentum2().

G4String MollerDetectorHit::particleName [private]
G4int MollerDetectorHit::partType [private]

Definition at line 130 of file MollerDetectorHit.hh.

Referenced by GetType(), and SetType().

G4double MollerDetectorHit::scat_ang [private]

Definition at line 132 of file MollerDetectorHit.hh.

Referenced by GetScatAngle(), and SetScatAngle().

G4int MollerDetectorHit::trackID [private]
G4ThreeVector MollerDetectorHit::vertexPos [private]

Definition at line 135 of file MollerDetectorHit.hh.

Referenced by GetVertexPos(), MollerDetectorHit(), operator=(), Print(), and SetVertexPos().

G4double MollerDetectorHit::volume [private]

Definition at line 132 of file MollerDetectorHit.hh.

Referenced by GetVolume(), and SetVolume().

G4ThreeVector MollerDetectorHit::worldPos [private]

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

Generated on 16 Jun 2013 for mollersim by  doxygen 1.6.1