00001 //---------------------------------------------------------------------------// 00002 // BOOST --- BESIII Object_Oriented Simulation Tool // 00003 //---------------------------------------------------------------------------// 00004 //Description: 00005 //Author: Youzy 00006 //Created: July, 2004 00007 //Modified: 00008 //Comment: 00009 //---------------------------------------------------------------------------// 00010 // $Id: BesMucDigi.hh 00011 00012 #ifndef BesMucDigi_h 00013 #define BesMucDigi_h 1 00014 00015 #include "G4VDigi.hh" 00016 #include "G4TDigiCollection.hh" 00017 #include "G4Allocator.hh" 00018 00019 class BesMucDigi : public G4VDigi 00020 { 00021 public: 00022 BesMucDigi(); 00023 virtual ~BesMucDigi(); 00024 00025 BesMucDigi(const BesMucDigi&); 00026 const BesMucDigi& operator=(const BesMucDigi&); 00027 00028 virtual G4int operator==(const BesMucDigi&) const; 00029 inline void* operator new(size_t); 00030 inline void operator delete(void*); 00031 00032 virtual void Draw(); 00033 virtual void Print(); 00034 00035 public: 00036 void SetTrackIndex(G4int index) { m_trackIndex = index; } 00037 void SetPartId(G4int partId) { m_partId = partId; } 00038 void SetSegId(G4int segId) { m_segId = segId; } 00039 void SetGapId(G4int gapId) { m_gapId = gapId; } 00040 void SetStripId(G4int stripId) { m_stripId = stripId; } 00041 00042 G4int GetTrackIndex() { return m_trackIndex; } 00043 G4int GetPartId() { return m_partId; } 00044 G4int GetSegId() { return m_segId; } 00045 G4int GetGapId() { return m_gapId; } 00046 G4int GetStripId() { return m_stripId; } 00047 00048 private: 00049 G4int m_trackIndex; 00050 G4int m_partId; 00051 G4int m_segId; 00052 G4int m_gapId; 00053 G4int m_stripId; 00054 }; 00055 00056 typedef G4TDigiCollection<BesMucDigi> BesMucDigisCollection; 00057 00058 extern G4Allocator<BesMucDigi> BesMucDigiAllocator; 00059 00060 inline void* BesMucDigi::operator new(size_t) 00061 { 00062 void *aDigi; 00063 aDigi = (void *) BesMucDigiAllocator.MallocSingle(); 00064 return aDigi; 00065 } 00066 00067 inline void BesMucDigi::operator delete(void *aDigi) 00068 { 00069 BesMucDigiAllocator.FreeSingle((BesMucDigi*) aDigi); 00070 } 00071 00072 #endif 00073