Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

LCDG4MuonHit Class Reference

#include <LCDG4MuonHit.hh>

Inheritance diagram for LCDG4MuonHit:

Inheritance graph
[legend]
Collaboration diagram for LCDG4MuonHit:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LCDG4MuonHit ()
 ~LCDG4MuonHit ()
 LCDG4MuonHit (const LCDG4MuonHit &right)
const LCDG4MuonHitoperator= (const LCDG4MuonHit &right)
bool operator== (const LCDG4MuonHit &right) const
void * operator new (size_t)
void operator delete (void *aHit)
void Draw ()
void Print ()
void SetLayer (const G4int layer)
G4int GetLayer ()
void SetSystem (const G4int sysNo)
G4int GetSystem ()
void SetBarEnd (const G4int barend)
G4int GetBarEnd ()
void SetPhi (const G4int phi)
G4int GetPhi ()
void SetTheta (const G4int theta)
G4int GetTheta ()
void SetEdep (const G4double de)
G4double GetEdep ()
void SetEdepAbs (const G4double de)
G4double GetEdepAbs ()
void SetPos (const G4ThreeVector &xyz)
G4ThreeVector GetPos ()
G4int GetNMC ()
G4int GetTrkID (G4int idx)
G4double GetEMC (G4int idx)
G4int AddLayerLog (G4LogicalVolume *g4vxdlog, G4int startlayerNo)
G4int AddMcPart (G4int mcidx, G4double emc)
void AddMcPartAbs (G4double emc)

Private Attributes

G4int m_sysNo
G4int m_layer
G4int m_barend
G4int m_phi
G4int m_theta
G4float m_edep
G4float m_edepabs
G4ThreeVector m_pos
G4int m_nmc
std::vector< G4int > * m_trkid
std::vector< G4double > * m_emc

Constructor & Destructor Documentation

LCDG4MuonHit::LCDG4MuonHit  ) 
 

Definition at line 15 of file LCDG4MuonHit.cc.

References m_edep, m_edepabs, m_emc, m_nmc, and m_trkid.

00015                            : G4VHit() {
00016   m_nmc=0;
00017   m_edep=0;
00018   m_edepabs=0;
00019   m_trkid=new std::vector<G4int>;
00020   m_trkid->clear();
00021   m_emc =new std::vector<G4double>;
00022   m_emc->clear();
00023 }

LCDG4MuonHit::~LCDG4MuonHit  ) 
 

Definition at line 29 of file LCDG4MuonHit.cc.

References m_emc, and m_trkid.

00029                            {
00030   if (m_trkid) {
00031     m_trkid->clear();
00032     delete m_trkid;
00033     m_trkid=0;
00034   }
00035 
00036   if (m_emc) {
00037     m_emc->clear();
00038     delete m_emc;
00039     m_emc=0;
00040   }
00041 }

LCDG4MuonHit::LCDG4MuonHit const LCDG4MuonHit right  ) 
 

Definition at line 46 of file LCDG4MuonHit.cc.

References m_barend, m_edep, m_edepabs, m_emc, m_layer, m_nmc, m_phi, m_pos, m_sysNo, m_theta, and m_trkid.

00046                                                     : G4VHit() {
00047   m_layer  = right.m_layer;
00048   m_sysNo  = right.m_sysNo;
00049   m_barend = right.m_barend;
00050   m_edep   = right.m_edep;
00051   m_edepabs= right.m_edepabs;
00052   m_theta  = right.m_theta;
00053   m_phi    = right.m_phi;
00054   m_pos    = right.m_pos;
00055 
00056   m_trkid=new std::vector<G4int>;
00057   m_emc =new std::vector<G4double>;
00058   m_trkid->clear();
00059   m_emc->clear();
00060   int imc=0;
00061   m_nmc=right.m_nmc;
00062   for(imc=0 ; imc < right.m_nmc ; imc++) {
00063     m_trkid->push_back((*right.m_trkid)[imc]);
00064     m_emc->push_back((*right.m_emc)[imc]);
00065   }
00066 
00067 }


Member Function Documentation

G4int LCDG4MuonHit::AddLayerLog G4LogicalVolume *  g4vxdlog,
G4int  startlayerNo
 

G4int LCDG4MuonHit::AddMcPart G4int  mcidx,
G4double  emc
 

Definition at line 98 of file LCDG4MuonHit.cc.

References m_edep, m_emc, m_nmc, and m_trkid.

00098                                                        {
00099   int flg_same=0;
00100   int imc=0;
00101   for (imc=0 ; imc < m_nmc ; imc++) {
00102     if ((*m_trkid)[imc] == mcidx) {
00103       flg_same=imc+1;
00104       break;
00105     }
00106   }
00107 
00108   m_edep+=emc;
00109   if (flg_same) {
00110     (*m_emc)[flg_same-1] += emc;
00111   } else {
00112     m_nmc++;
00113     m_trkid->push_back(mcidx);
00114     m_emc ->push_back(emc);
00115   }
00116 
00117   return m_nmc;
00118 }

void LCDG4MuonHit::AddMcPartAbs G4double  emc  )  [inline]
 

Definition at line 56 of file LCDG4MuonHit.hh.

References m_edepabs.

00056 { m_edepabs += emc; } // Absorber

void LCDG4MuonHit::Draw  ) 
 

Definition at line 141 of file LCDG4MuonHit.cc.

References m_pos.

00141                         {
00142   G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
00143   if(pVVisManager) {
00144     G4Circle circle(m_pos);
00145     circle.SetScreenSize(1.0);
00146     //circle.SetScreenSize(0.04);
00147     circle.SetFillStyle(G4Circle::filled);
00148     G4Colour colour(1.0,0.0,1.0); // Magenta
00149     G4VisAttributes attribs(colour);
00150     circle.SetVisAttributes(attribs);
00151     pVVisManager->Draw(circle);
00152   }
00153 }

G4int LCDG4MuonHit::GetBarEnd  )  [inline]
 

Definition at line 36 of file LCDG4MuonHit.hh.

References m_barend.

00036 { return m_barend; }

G4double LCDG4MuonHit::GetEdep  )  [inline]
 

Definition at line 42 of file LCDG4MuonHit.hh.

References m_edep.

00042 { return m_edep; }

G4double LCDG4MuonHit::GetEdepAbs  )  [inline]
 

Definition at line 44 of file LCDG4MuonHit.hh.

References m_edepabs.

00044 { return m_edepabs; }

G4double LCDG4MuonHit::GetEMC G4int  idx  )  [inline]
 

Definition at line 51 of file LCDG4MuonHit.hh.

00051 {return (*m_emc)[idx];}

G4int LCDG4MuonHit::GetLayer  )  [inline]
 

Definition at line 32 of file LCDG4MuonHit.hh.

References m_layer.

00032 { return m_layer; }

G4int LCDG4MuonHit::GetNMC  )  [inline]
 

Definition at line 49 of file LCDG4MuonHit.hh.

References m_nmc.

00049 {return m_nmc;}

G4int LCDG4MuonHit::GetPhi  )  [inline]
 

Definition at line 38 of file LCDG4MuonHit.hh.

References m_phi.

00038 { return m_phi; }

G4ThreeVector LCDG4MuonHit::GetPos  )  [inline]
 

Definition at line 47 of file LCDG4MuonHit.hh.

References m_pos.

00047 { return m_pos; }

G4int LCDG4MuonHit::GetSystem  )  [inline]
 

Definition at line 34 of file LCDG4MuonHit.hh.

References m_sysNo.

00034 { return m_sysNo; }

G4int LCDG4MuonHit::GetTheta  )  [inline]
 

Definition at line 40 of file LCDG4MuonHit.hh.

References m_theta.

00040 { return m_theta; }

G4int LCDG4MuonHit::GetTrkID G4int  idx  )  [inline]
 

Definition at line 50 of file LCDG4MuonHit.hh.

00050 {return (*m_trkid)[idx];}

void LCDG4MuonHit::operator delete void *  aHit  )  [inline]
 

Definition at line 83 of file LCDG4MuonHit.hh.

References LCDG4MuonHitAllocator.

00083                                                     {
00084   LCDG4MuonHitAllocator.FreeSingle((LCDG4MuonHit*) aHit);
00085 }

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

Definition at line 77 of file LCDG4MuonHit.hh.

References LCDG4MuonHitAllocator.

00077                                               {
00078   void *aHit;
00079   aHit = (void *) LCDG4MuonHitAllocator.MallocSingle();
00080   return aHit;
00081 }

const LCDG4MuonHit & LCDG4MuonHit::operator= const LCDG4MuonHit right  ) 
 

Definition at line 72 of file LCDG4MuonHit.cc.

References m_barend, m_edep, m_edepabs, m_emc, m_layer, m_nmc, m_phi, m_pos, m_sysNo, m_theta, and m_trkid.

00072                                                                      {
00073   m_layer  = right.m_layer;
00074   m_sysNo  = right.m_sysNo;
00075   m_barend = right.m_barend;
00076   m_edep   = right.m_edep;
00077   m_edepabs= right.m_edepabs;
00078   m_theta  = right.m_theta;
00079   m_phi    = right.m_phi;
00080   m_pos    = right.m_pos;
00081 
00082   int imc=0;
00083 
00084   m_trkid->clear();
00085   m_emc->clear();
00086   m_nmc=right.m_nmc;
00087   for(imc=0 ; imc < right.m_nmc ; imc++) {
00088     m_trkid->push_back((*right.m_trkid)[imc]);
00089     m_emc->push_back((*right.m_emc)[imc]);
00090   }
00091   return *this;
00092 }

bool LCDG4MuonHit::operator== const LCDG4MuonHit right  )  const
 

Definition at line 123 of file LCDG4MuonHit.cc.

References m_barend, m_layer, m_phi, m_sysNo, and m_theta.

00123                                                              {
00124   if(m_layer!=right.m_layer) return false;
00125   if(m_sysNo!=right.m_sysNo) return false;
00126   if(m_barend!=m_barend) return false;
00127   if(m_phi!=m_phi) return false;
00128   if(m_theta!=m_theta) return false;
00129 //    if(m_edep!=m_edep) return false;
00130 //    if(m_edepabs!=m_edepabs) return false;
00131 
00132 //    G4int    m_nmc;
00133 //    std::vector<G4int>    *m_trkid;
00134 //    std::vector<G4double> *m_emc;
00135   return true;
00136 }

void LCDG4MuonHit::Print  ) 
 

Definition at line 158 of file LCDG4MuonHit.cc.

References m_barend, m_edep, m_layer, m_phi, m_sysNo, and m_theta.

00158                          {
00159   G4cout << "Layer:" << m_layer << G4endl;
00160   G4cout << "Sysno:" << m_sysNo << G4endl;
00161   G4cout << "Bar/End:" << m_barend << G4endl;
00162   G4cout << "Phi:" << m_phi << G4endl;
00163   G4cout << "Theta:" << m_theta << G4endl;
00164   G4cout << "Edep:" << m_edep << G4endl;
00165 }

void LCDG4MuonHit::SetBarEnd const G4int  barend  )  [inline]
 

Definition at line 35 of file LCDG4MuonHit.hh.

References m_barend.

00035 { m_barend = barend; }

void LCDG4MuonHit::SetEdep const G4double  de  )  [inline]
 

Definition at line 41 of file LCDG4MuonHit.hh.

References m_edep.

00041 { m_edep = de; }

void LCDG4MuonHit::SetEdepAbs const G4double  de  )  [inline]
 

Definition at line 43 of file LCDG4MuonHit.hh.

References m_edepabs.

00043 { m_edepabs = de; }

void LCDG4MuonHit::SetLayer const G4int  layer  )  [inline]
 

Definition at line 31 of file LCDG4MuonHit.hh.

References m_layer.

00031 { m_layer = layer; }

void LCDG4MuonHit::SetPhi const G4int  phi  )  [inline]
 

Definition at line 37 of file LCDG4MuonHit.hh.

References m_phi.

00037 { m_phi = phi; }

void LCDG4MuonHit::SetPos const G4ThreeVector &  xyz  )  [inline]
 

Definition at line 46 of file LCDG4MuonHit.hh.

References m_pos.

00046 { m_pos = xyz; }

void LCDG4MuonHit::SetSystem const G4int  sysNo  )  [inline]
 

Definition at line 33 of file LCDG4MuonHit.hh.

References m_sysNo.

00033 { m_sysNo = sysNo; }

void LCDG4MuonHit::SetTheta const G4int  theta  )  [inline]
 

Definition at line 39 of file LCDG4MuonHit.hh.

References m_theta.

00039 { m_theta = theta; }


Member Data Documentation

G4int LCDG4MuonHit::m_barend [private]
 

Definition at line 61 of file LCDG4MuonHit.hh.

Referenced by GetBarEnd(), LCDG4MuonHit(), operator=(), operator==(), Print(), and SetBarEnd().

G4float LCDG4MuonHit::m_edep [private]
 

Definition at line 64 of file LCDG4MuonHit.hh.

Referenced by AddMcPart(), GetEdep(), LCDG4MuonHit(), operator=(), Print(), and SetEdep().

G4float LCDG4MuonHit::m_edepabs [private]
 

Definition at line 65 of file LCDG4MuonHit.hh.

Referenced by AddMcPartAbs(), GetEdepAbs(), LCDG4MuonHit(), operator=(), and SetEdepAbs().

std::vector<G4double>* LCDG4MuonHit::m_emc [private]
 

Definition at line 70 of file LCDG4MuonHit.hh.

Referenced by AddMcPart(), LCDG4MuonHit(), operator=(), and ~LCDG4MuonHit().

G4int LCDG4MuonHit::m_layer [private]
 

Definition at line 60 of file LCDG4MuonHit.hh.

Referenced by GetLayer(), LCDG4MuonHit(), operator=(), operator==(), Print(), and SetLayer().

G4int LCDG4MuonHit::m_nmc [private]
 

Definition at line 68 of file LCDG4MuonHit.hh.

Referenced by AddMcPart(), GetNMC(), LCDG4MuonHit(), and operator=().

G4int LCDG4MuonHit::m_phi [private]
 

Definition at line 62 of file LCDG4MuonHit.hh.

Referenced by GetPhi(), LCDG4MuonHit(), operator=(), operator==(), Print(), and SetPhi().

G4ThreeVector LCDG4MuonHit::m_pos [private]
 

Definition at line 66 of file LCDG4MuonHit.hh.

Referenced by Draw(), GetPos(), LCDG4MuonHit(), operator=(), and SetPos().

G4int LCDG4MuonHit::m_sysNo [private]
 

Definition at line 59 of file LCDG4MuonHit.hh.

Referenced by GetSystem(), LCDG4MuonHit(), operator=(), operator==(), Print(), and SetSystem().

G4int LCDG4MuonHit::m_theta [private]
 

Definition at line 63 of file LCDG4MuonHit.hh.

Referenced by GetTheta(), LCDG4MuonHit(), operator=(), operator==(), Print(), and SetTheta().

std::vector<G4int>* LCDG4MuonHit::m_trkid [private]
 

Definition at line 69 of file LCDG4MuonHit.hh.

Referenced by AddMcPart(), LCDG4MuonHit(), operator=(), and ~LCDG4MuonHit().


The documentation for this class was generated from the following files:
Generated on Thu Oct 7 18:45:06 2004 for LCDG4 by doxygen 1.3.4