Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

BesMucHit Class Reference

#include <BesMucHit.hh>

List of all members.

Public Member Functions

 BesMucHit (const BesMucHit &)
 BesMucHit (int prt, int seg, int lay, int str, int trId, int trIndex)
 BesMucHit ()
 BesMucHit (const BesMucHit &)
 BesMucHit (int prt, int seg, int lay, int str, int trId, int trIndex)
 BesMucHit ()
void Draw ()
void Draw ()
G4ThreeVector GetDir ()
G4ThreeVector GetDir ()
G4double GetEdep ()
G4double GetEdep ()
G4double GetEnergy ()
G4double GetEnergy ()
G4int GetGap ()
G4int GetGap ()
G4int GetGasChamber ()
G4int GetGasChamber ()
G4ThreeVector GetMomentum ()
G4ThreeVector GetMomentum ()
G4int GetPanel ()
G4int GetPanel ()
G4int GetPart ()
G4int GetPart ()
G4int GetPDGCode ()
G4int GetPDGCode ()
G4ThreeVector GetPos ()
G4ThreeVector GetPos ()
G4ThreeVector GetPosLocal ()
G4ThreeVector GetPosLocal ()
G4int GetSeg ()
G4int GetSeg ()
G4int GetStrip ()
G4int GetStrip ()
G4double GetTime ()
G4double GetTime ()
G4int GetTrackID ()
G4int GetTrackID ()
G4int GetTrackIndex ()
G4int GetTrackIndex ()
G4VPhysicalVolume * GetVolume ()
G4VPhysicalVolume * GetVolume ()
G4String GetVolumeName ()
G4String GetVolumeName ()
void operator delete (void *)
void operator delete (void *)
void * operator new (size_t)
void * operator new (size_t)
const BesMucHitoperator= (const BesMucHit &)
const BesMucHitoperator= (const BesMucHit &)
int operator== (const BesMucHit &) const
int operator== (const BesMucHit &) const
void Print ()
void Print ()
void SetDir (G4ThreeVector dir)
void SetDir (G4ThreeVector dir)
void SetEdep (G4double de)
void SetEdep (G4double de)
void SetEnergy (G4double energy)
void SetEnergy (G4double energy)
void SetGap (G4int gap)
void SetGap (G4int gap)
void SetMomentum (G4ThreeVector momentum)
void SetMomentum (G4ThreeVector momentum)
void SetPart (G4int part)
void SetPart (G4int part)
void SetPDGCode (G4int pdg)
void SetPDGCode (G4int pdg)
void SetPos (G4ThreeVector xyz)
void SetPos (G4ThreeVector xyz)
void SetPosLocal (G4ThreeVector xyzLocal)
void SetPosLocal (G4ThreeVector xyzLocal)
void SetSeg (G4int seg)
void SetSeg (G4int seg)
void SetStrip (G4int strip)
void SetStrip (G4int strip)
void SetTime (G4double t)
void SetTime (G4double t)
void SetTrackID (G4int track)
void SetTrackID (G4int track)
void SetTrackIndex (G4int index)
void SetTrackIndex (G4int index)
void SetVolume (G4VPhysicalVolume *pv)
void SetVolume (G4VPhysicalVolume *pv)
 ~BesMucHit ()
 ~BesMucHit ()

Private Attributes

G4ThreeVector m_Dir
G4double m_Edep
G4double m_Energy
G4int m_Gap
G4int m_GasChamber
G4ThreeVector m_Momentum
G4int m_Panel
G4int m_Part
G4int m_PDGCode
G4ThreeVector m_Pos
G4ThreeVector m_PosLocal
G4int m_Seg
G4int m_Strip
G4double m_Time
G4int m_TrackID
G4int m_TrackIndex
G4VPhysicalVolume * m_Volume
G4VPhysicalVolume * m_Volume
G4String m_VolumeName


Constructor & Destructor Documentation

BesMucHit::BesMucHit  ) 
 

00026 { }

BesMucHit::BesMucHit int  prt,
int  seg,
int  lay,
int  str,
int  trId,
int  trIndex
 

00029 { 
00030   m_Part = prt; 
00031   m_Seg  = seg; 
00032   m_Gap  = lay;
00033   m_Strip = str;
00034   m_TrackID = trId; 
00035   m_TrackIndex = trIndex;
00036 }

BesMucHit::~BesMucHit  ) 
 

00039 { }

BesMucHit::BesMucHit const BesMucHit  ) 
 

00042   :G4VHit()
00043 {
00044   m_TrackID    = right.m_TrackID;
00045   m_TrackIndex = right.m_TrackIndex;
00046   m_PDGCode    = right.m_PDGCode;
00047   m_Edep       = right.m_Edep;
00048   m_Energy     = right.m_Energy;
00049   m_Time       = right.m_Time;
00050   m_Pos        = right.m_Pos;
00051   m_PosLocal   = right.m_PosLocal;
00052   m_Dir        = right.m_Dir;
00053   m_Momentum   = right.m_Momentum;
00054   m_Volume     = right.m_Volume;
00055   m_VolumeName = right.m_VolumeName;
00056   m_Part       = right.m_Part;
00057   m_Seg        = right.m_Seg;
00058   m_Gap        = right.m_Gap;
00059   m_Panel      = right.m_Panel;
00060   m_GasChamber = right.m_GasChamber;     //now it means up or down RPC! 2006.10.17
00061   m_Strip      = right.m_Strip;
00062 }

BesMucHit::BesMucHit  ) 
 

BesMucHit::BesMucHit int  prt,
int  seg,
int  lay,
int  str,
int  trId,
int  trIndex
 

BesMucHit::~BesMucHit  ) 
 

BesMucHit::BesMucHit const BesMucHit  ) 
 


Member Function Documentation

void BesMucHit::Draw  ) 
 

void BesMucHit::Draw  ) 
 

00140 {
00141   G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
00142   if(pVVisManager)
00143   {
00144     G4Circle circle(m_Pos);
00145     circle.SetScreenSize(4.);
00146     circle.SetFillStyle(G4Circle::filled);
00147     G4Colour colour(0.,0.,1.);
00148     G4VisAttributes attribs(colour);
00149     circle.SetVisAttributes(attribs);
00150     pVVisManager->Draw(circle);
00151     
00152     //re-visualize a physical volume where a hit is detected
00153     //
00154     //
00155   /*  const G4ThreeVector& thrVector=G4ThreeVector(1.,0.,0.);
00156     const G4RotationMatrix &rot = 
00157             G4RotationMatrix(thrVector,0.*deg);
00158     
00159     G4Transform3D trans(rot, pos);
00160     G4VisAttributes att;
00161     const G4VPhysicalVolume* pPhys= detector->GetPhysicalTrap();
00162     const G4LogicalVolume* logVol=
00163             pPhys->GetLogicalVolume();
00164     const G4VisAttributes* pVA=logVol->GetVisAttributes();
00165     if(pVA) att=*pVA;
00166     G4Colour col(1.,0.,0.);
00167     att.SetColour(col);
00168     att.SetForceSolid(true);
00169 
00170     pVVisManager->Draw(*pPhys,att,trans);*/
00171   }
00172 }

G4ThreeVector BesMucHit::GetDir  )  [inline]
 

00070 { return m_Dir; };

G4ThreeVector BesMucHit::GetDir  )  [inline]
 

00070 { return m_Dir; };

G4double BesMucHit::GetEdep  )  [inline]
 

00065 { return m_Edep; };      

G4double BesMucHit::GetEdep  )  [inline]
 

00065 { return m_Edep; };      

G4double BesMucHit::GetEnergy  )  [inline]
 

00066 { return m_Energy; };

G4double BesMucHit::GetEnergy  )  [inline]
 

00066 { return m_Energy; };

G4int BesMucHit::GetGap  )  [inline]
 

00076 { return m_Gap; };

G4int BesMucHit::GetGap  )  [inline]
 

00076 { return m_Gap; };

G4int BesMucHit::GetGasChamber  )  [inline]
 

00079 { return m_GasChamber; };

G4int BesMucHit::GetGasChamber  )  [inline]
 

00079 { return m_GasChamber; };

G4ThreeVector BesMucHit::GetMomentum  )  [inline]
 

00071 { return m_Momentum; };

G4ThreeVector BesMucHit::GetMomentum  )  [inline]
 

00071 { return m_Momentum; };

G4int BesMucHit::GetPanel  )  [inline]
 

00078 { return m_Panel; };

G4int BesMucHit::GetPanel  )  [inline]
 

00078 { return m_Panel; };

G4int BesMucHit::GetPart  )  [inline]
 

00074 { return m_Part; };

G4int BesMucHit::GetPart  )  [inline]
 

00074 { return m_Part; };

G4int BesMucHit::GetPDGCode  )  [inline]
 

00064 { return m_PDGCode; };

G4int BesMucHit::GetPDGCode  )  [inline]
 

00064 { return m_PDGCode; };

G4ThreeVector BesMucHit::GetPos  )  [inline]
 

00068 { return m_Pos; };

G4ThreeVector BesMucHit::GetPos  )  [inline]
 

00068 { return m_Pos; };

G4ThreeVector BesMucHit::GetPosLocal  )  [inline]
 

00069 { return m_PosLocal; };

G4ThreeVector BesMucHit::GetPosLocal  )  [inline]
 

00069 { return m_PosLocal; };

G4int BesMucHit::GetSeg  )  [inline]
 

00075 { return m_Seg; };

G4int BesMucHit::GetSeg  )  [inline]
 

00075 { return m_Seg; };

G4int BesMucHit::GetStrip  )  [inline]
 

00077 { return m_Strip; };

G4int BesMucHit::GetStrip  )  [inline]
 

00077 { return m_Strip; };

G4double BesMucHit::GetTime  )  [inline]
 

00067 { return m_Time; };

G4double BesMucHit::GetTime  )  [inline]
 

00067 { return m_Time; };

G4int BesMucHit::GetTrackID  )  [inline]
 

00062 { return m_TrackID; };

G4int BesMucHit::GetTrackID  )  [inline]
 

00062 { return m_TrackID; };

G4int BesMucHit::GetTrackIndex  )  [inline]
 

00063 { return m_TrackIndex;};

G4int BesMucHit::GetTrackIndex  )  [inline]
 

00063 { return m_TrackIndex;};

G4VPhysicalVolume* BesMucHit::GetVolume  )  [inline]
 

00072 { return m_Volume; };

G4VPhysicalVolume* BesMucHit::GetVolume  )  [inline]
 

00072 { return m_Volume; };

G4String BesMucHit::GetVolumeName  )  [inline]
 

00073 { return m_VolumeName; };

G4String BesMucHit::GetVolumeName  )  [inline]
 

00073 { return m_VolumeName; };

void BesMucHit::operator delete void *   )  [inline]
 

void BesMucHit::operator delete void *   )  [inline]
 

00116 {
00117   BesMucHitAllocator.FreeSingle((BesMucHit*) aHit);
00118 }

void* BesMucHit::operator new size_t   )  [inline]
 

void * BesMucHit::operator new size_t   )  [inline]
 

00109 {
00110   void *aHit;
00111   aHit = (void *) BesMucHitAllocator.MallocSingle();
00112   return aHit;
00113 }

const BesMucHit& BesMucHit::operator= const BesMucHit  ) 
 

const BesMucHit & BesMucHit::operator= const BesMucHit  ) 
 

00065 {
00066   m_TrackID    = right.m_TrackID;
00067   m_TrackIndex = right.m_TrackIndex;
00068   m_PDGCode    = right.m_PDGCode;
00069   m_Edep       = right.m_Edep;
00070   m_Energy     = right.m_Energy;
00071   m_Time       = right.m_Time;
00072   m_Pos        = right.m_Pos;
00073   m_PosLocal   = right.m_PosLocal;
00074   m_Dir        = right.m_Dir;
00075   m_Momentum   = right.m_Momentum;
00076   m_Volume     = right.m_Volume;
00077   m_VolumeName = right.m_VolumeName;
00078   m_Part       = right.m_Part;
00079   m_Seg        = right.m_Seg;
00080   m_Gap        = right.m_Gap;
00081   m_Panel      = right.m_Panel;
00082   m_GasChamber = right.m_GasChamber;
00083   m_Strip      = right.m_Strip;
00084   return *this;
00085 }

int BesMucHit::operator== const BesMucHit  )  const
 

int BesMucHit::operator== const BesMucHit  )  const
 

00088 {
00089   return (this==&right) ? 1 : 0;
00090 }

void BesMucHit::Print  ) 
 

void BesMucHit::Print  ) 
 

00175 {
00176   
00177   G4cout << "  Track id: "       << m_TrackID
00178          << "  pdg code: "       << m_PDGCode
00179          << G4endl
00180          << "  energy deposit: " << G4BestUnit(m_Edep, "Energy")
00181          << "  pos: "            << G4BestUnit(m_Pos,  "Length") 
00182          << "  posLocal: "       << G4BestUnit(m_PosLocal,  "Length") 
00183          << G4endl
00184          << "  energy: "         << G4BestUnit(m_Energy, "Energy")
00185          << "  direction: "      << m_Dir 
00186          << "  time: "           << G4BestUnit(m_Time,"Time")
00187          << "  volume name: "    << m_VolumeName
00188          << G4endl;
00189 }

void BesMucHit::SetDir G4ThreeVector  dir  )  [inline]
 

00053 { m_Dir      = dir; };

void BesMucHit::SetDir G4ThreeVector  dir  )  [inline]
 

00053 { m_Dir      = dir; };

void BesMucHit::SetEdep G4double  de  )  [inline]
 

00048 { m_Edep     = de; };

void BesMucHit::SetEdep G4double  de  )  [inline]
 

00048 { m_Edep     = de; };

void BesMucHit::SetEnergy G4double  energy  )  [inline]
 

00049 { m_Energy   = energy; };

void BesMucHit::SetEnergy G4double  energy  )  [inline]
 

00049 { m_Energy   = energy; };

void BesMucHit::SetGap G4int  gap  )  [inline]
 

00058 { m_Gap   = gap; };

void BesMucHit::SetGap G4int  gap  )  [inline]
 

00058 { m_Gap   = gap; };

void BesMucHit::SetMomentum G4ThreeVector  momentum  )  [inline]
 

00054 { m_Momentum = momentum; };

void BesMucHit::SetMomentum G4ThreeVector  momentum  )  [inline]
 

00054 { m_Momentum = momentum; };

void BesMucHit::SetPart G4int  part  )  [inline]
 

00056 { m_Part  = part; };

void BesMucHit::SetPart G4int  part  )  [inline]
 

00056 { m_Part  = part; };

void BesMucHit::SetPDGCode G4int  pdg  )  [inline]
 

00047 { m_PDGCode  = pdg; };

void BesMucHit::SetPDGCode G4int  pdg  )  [inline]
 

00047 { m_PDGCode  = pdg; };

void BesMucHit::SetPos G4ThreeVector  xyz  )  [inline]
 

00051 { m_Pos      = xyz; };

void BesMucHit::SetPos G4ThreeVector  xyz  )  [inline]
 

00051 { m_Pos      = xyz; };

void BesMucHit::SetPosLocal G4ThreeVector  xyzLocal  )  [inline]
 

00052 { m_PosLocal = xyzLocal; };

void BesMucHit::SetPosLocal G4ThreeVector  xyzLocal  )  [inline]
 

00052 { m_PosLocal = xyzLocal; };

void BesMucHit::SetSeg G4int  seg  )  [inline]
 

00057 { m_Seg   = seg; };

void BesMucHit::SetSeg G4int  seg  )  [inline]
 

00057 { m_Seg   = seg; };

void BesMucHit::SetStrip G4int  strip  )  [inline]
 

00059 { m_Strip = strip; };

void BesMucHit::SetStrip G4int  strip  )  [inline]
 

00059 { m_Strip = strip; };

void BesMucHit::SetTime G4double  t  )  [inline]
 

00050 { m_Time     = t; };  

void BesMucHit::SetTime G4double  t  )  [inline]
 

00050 { m_Time     = t; };  

void BesMucHit::SetTrackID G4int  track  )  [inline]
 

00045 { m_TrackID  = track; };

void BesMucHit::SetTrackID G4int  track  )  [inline]
 

00045 { m_TrackID  = track; };

void BesMucHit::SetTrackIndex G4int  index  )  [inline]
 

00046 { m_TrackIndex = index;};

void BesMucHit::SetTrackIndex G4int  index  )  [inline]
 

00046 { m_TrackIndex = index;};

void BesMucHit::SetVolume G4VPhysicalVolume *  pv  ) 
 

void BesMucHit::SetVolume G4VPhysicalVolume *  pv  ) 
 

00093 {
00094   m_Volume     = pv; 
00095   m_VolumeName = pv->GetLogicalVolume()->GetName();
00096 
00097   G4LogicalVolume *lvGap = pv->GetMotherLogical();
00098   G4String GapName = lvGap->GetName();
00099 
00100   //G4cout<<" in BesMucHit ---- "<<m_VolumeName<<" "<<GapName<<G4endl;
00101 //    //  "logicalMucPart1Seg0Gap4Panel1GasChamber0"
00102 //    //  "logicalMucPart1Seg4Gap0"
00103 //    G4String strPart       = m_VolumeName.substr(14,1);
00104 //    G4String strSeg        =      GapName.substr(18,1);
00105 //    G4String strGap        = m_VolumeName.substr(22,1);
00106 //    G4String strPanel      = m_VolumeName.substr(28,1);
00107 //    G4String strGasChamber = m_VolumeName.substr(39,1);
00108 
00109   //   "logicalMucPart0Seg0Gap0RpcUpDown0Panel0GasChamber"   2006.10.17 liangyt
00110   //   "logicalMucPart0Seg0Gap0" 
00111 
00112   //   "lMucP0S0G0R0Pn0C"           2006.12.05 liangyt 
00113   //   "lMucP0S0G0"
00114   G4String strPart       = m_VolumeName.substr(5,1);
00115   G4String strSeg        =      GapName.substr(7,1);
00116   G4String strGap        = m_VolumeName.substr(9,1);
00117   G4String strGasChamber = m_VolumeName.substr(11,1);    //same as rpcupdown 
00118   G4String strPanel      = m_VolumeName.substr(14,1);
00119 //   G4String strPart       = m_VolumeName.substr(14,1);
00120 //   G4String strSeg        =      GapName.substr(18,1);
00121 //   G4String strGap        = m_VolumeName.substr(22,1);
00122 //   G4String strGasChamber = m_VolumeName.substr(32,1);    //same as rpcupdown 
00123 //   G4String strPanel      = m_VolumeName.substr(38,1);
00124 
00125   std::istrstream partBuf(strPart.c_str(),             strlen(strPart.c_str()));
00126   std::istrstream segBuf(strSeg.c_str(),               strlen(strSeg.c_str()));
00127   std::istrstream gapBuf(strGap.c_str(),               strlen(strGap.c_str()));
00128   std::istrstream panelBuf(strPanel.c_str(),           strlen(strPanel.c_str()));
00129   std::istrstream gasChamberBuf(strGasChamber.c_str(), strlen(strGasChamber.c_str()));
00130 
00131   partBuf       >> m_Part ;
00132   segBuf        >> m_Seg;
00133   gapBuf        >> m_Gap;
00134   panelBuf      >> m_Panel;
00135   gasChamberBuf >> m_GasChamber; 
00136 }


Member Data Documentation

G4ThreeVector BesMucHit::m_Dir [private]
 

G4double BesMucHit::m_Edep [private]
 

G4double BesMucHit::m_Energy [private]
 

G4int BesMucHit::m_Gap [private]
 

G4int BesMucHit::m_GasChamber [private]
 

G4ThreeVector BesMucHit::m_Momentum [private]
 

G4int BesMucHit::m_Panel [private]
 

G4int BesMucHit::m_Part [private]
 

G4int BesMucHit::m_PDGCode [private]
 

G4ThreeVector BesMucHit::m_Pos [private]
 

G4ThreeVector BesMucHit::m_PosLocal [private]
 

G4int BesMucHit::m_Seg [private]
 

G4int BesMucHit::m_Strip [private]
 

G4double BesMucHit::m_Time [private]
 

G4int BesMucHit::m_TrackID [private]
 

G4int BesMucHit::m_TrackIndex [private]
 

G4VPhysicalVolume* BesMucHit::m_Volume [private]
 

G4VPhysicalVolume* BesMucHit::m_Volume [private]
 

G4String BesMucHit::m_VolumeName [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 15:52:57 2011 for BOSS6.5.5 by  doxygen 1.3.9.1