63 NbOfTKRStrips = NbOfTKRStrips*NbOfTKRTiles;
65 NbOfTKRChannels = NbOfTKRStrips* NbOfTKRTiles * NbOfTKRLayers;
67 ThitXID =
new G4int[NbOfTKRChannels];
68 ThitYID =
new G4int[NbOfTKRChannels];
87 for (
G4int i=0;i<NbOfTKRChannels;i++)
100 if ((edep/
keV == 0.))
return false;
114 G4int PlaneNumber = 0;
120 G4int StripNumber = 0;
131 G4int NTile = (TileNumber%TileTotal);
136 for (j=0;j<TileTotal;j++)
138 if(NTile==j) StripNumber += StripTotal*NTile;
141 NChannel = PlaneNumber*TileTotal*StripTotal + StripNumber;
148 if (PlaneName ==
"TKRDetectorX" )
152 if (ThitXID[NChannel]==-1)
161 TrackerCollection->
insert(TrackerHit) -1;
165 (*TrackerCollection)[ThitXID[NChannel]]->AddSil(edep);
170 if (PlaneName ==
"TKRDetectorY")
174 if (ThitYID[NChannel]==-1)
183 TrackerCollection->
insert(TrackerHit)-1;
187 (*TrackerCollection)[ThitYID[NChannel]]->AddSil(edep);
199 static G4int HCID = -1;
207 for (
G4int i=0;i<NbOfTKRChannels;i++)
G4String SensitiveDetectorName
G4int GetCollectionID(G4String colName)
G4VPhysicalVolume * GetVolume(G4int depth=0) const
const G4VUserDetectorConstruction * GetUserDetectorConstruction() const
void SetPlaneType(G4int i)
void SetNSilPlane(G4int i)
G4int GetNbOfTKRLayers() const
const G4VTouchable * GetTouchable() const
G4StepPoint * GetPreStepPoint() const
void Initialize(G4HCofThisEvent *)
G4bool ProcessHits(G4Step *astep, G4TouchableHistory *ROHist)
void insert(G4String str)
const G4String & GetName() const
const G4ThreeVector & GetPosition() const
void SetPos(G4ThreeVector xyz)
G4THitsCollection< GammaRayTelTrackerHit > GammaRayTelTrackerHitsCollection
G4double GetTotalEnergyDeposit() const
void AddHitsCollection(G4int HCID, G4VHitsCollection *aHC)
GammaRayTelTrackerSD(G4String)
static G4RunManager * GetRunManager()
G4int GetNbOfTKRTiles() const
static G4SDManager * GetSDMpointer()
virtual G4int GetCopyNo() const =0
void EndOfEvent(G4HCofThisEvent *)
G4int GetNbOfTKRStrips() const
G4CollectionNameVector collectionName
static constexpr double keV