Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
B2TrackerSD Class Reference

B2Tracker sensitive detector class. More...

#include <Doxymodules_parallel.h>

Inheritance diagram for B2TrackerSD:
G4VSensitiveDetector

Public Member Functions

 B2TrackerSD (const G4String &name, const G4String &hitsCollectionName)
 
virtual ~B2TrackerSD ()
 
virtual void Initialize (G4HCofThisEvent *hitCollection)
 
virtual G4bool ProcessHits (G4Step *step, G4TouchableHistory *history)
 
virtual void EndOfEvent (G4HCofThisEvent *hitCollection)
 

Private Attributes

B2TrackerHitsCollectionfHitsCollection
 

Detailed Description

B2Tracker sensitive detector class.

The hits are accounted in hits in ProcessHits() function which is called by Geant4 kernel at each step. A hit is created with each step with non zero energy deposit.

Definition at line 99 of file Doxymodules_parallel.h.

Constructor & Destructor Documentation

◆ B2TrackerSD()

B2TrackerSD::B2TrackerSD ( const G4String name,
const G4String hitsCollectionName 
)

Definition at line 39 of file B2TrackerSD.cc.

42 fHitsCollection(NULL)
43{
44 collectionName.insert(hitsCollectionName);
45}
B2TrackerHitsCollection * fHitsCollection

◆ ~B2TrackerSD()

B2TrackerSD::~B2TrackerSD ( )
virtual

Definition at line 49 of file B2TrackerSD.cc.

50{}

Member Function Documentation

◆ Initialize()

void B2TrackerSD::Initialize ( G4HCofThisEvent hitCollection)
virtual

Definition at line 54 of file B2TrackerSD.cc.

55{
56 // Create hits collection
57
59 = new B2TrackerHitsCollection(SensitiveDetectorName, collectionName[0]);
60
61 // Add this collection in hce
62
63 G4int hcID
64 = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]);
65 hce->AddHitsCollection( hcID, fHitsCollection );
66}
G4THitsCollection< B2TrackerHit > B2TrackerHitsCollection

◆ ProcessHits()

G4bool B2TrackerSD::ProcessHits ( G4Step step,
G4TouchableHistory history 
)
virtual

Definition at line 70 of file B2TrackerSD.cc.

72{
73 // energy deposit
74 G4double edep = aStep->GetTotalEnergyDeposit();
75
76 if (edep==0.) return false;
77
78 B2TrackerHit* newHit = new B2TrackerHit();
79
80 newHit->SetTrackID (aStep->GetTrack()->GetTrackID());
81 newHit->SetChamberNb(aStep->GetPreStepPoint()->GetTouchableHandle()
82 ->GetCopyNumber());
83 newHit->SetEdep(edep);
84 newHit->SetPos (aStep->GetPostStepPoint()->GetPosition());
85
86 fHitsCollection->insert( newHit );
87
88 //newHit->Print();
89
90 return true;
91}
Tracker hit class.
void SetPos(G4ThreeVector xyz)
void SetChamberNb(G4int chamb)
void SetEdep(G4double de)
void SetTrackID(G4int track)

◆ EndOfEvent()

void B2TrackerSD::EndOfEvent ( G4HCofThisEvent hitCollection)
virtual

Definition at line 95 of file B2TrackerSD.cc.

96{
97 if ( verboseLevel>1 ) {
98 G4int nofHits = fHitsCollection->entries();
99 G4cout << "\n-------->Hits Collection: in this event they are " << nofHits
100 << " hits in the tracker chambers: " << G4endl;
101 for ( G4int i=0; i<nofHits; i++ ) (*fHitsCollection)[i]->Print();
102 }
103}

Member Data Documentation

◆ fHitsCollection

B2TrackerHitsCollection* B2TrackerSD::fHitsCollection
private

Definition at line 63 of file B2TrackerSD.hh.


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

Applications | User Support | Publications | Collaboration