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;
121 G4int StripNumber = 0;
134 G4int NTile = (TileNumber%TileTotal);
139 for (j=0;j<TileTotal;j++)
141 if(NTile==j) StripNumber += StripTotal*NTile;
144 NChannel = PlaneNumber*TileTotal*StripTotal + StripNumber;
151 if (PlaneName ==
"TKRDetectorX" )
155 if (ThitXID[NChannel]==-1)
164 TrackerCollection->
insert(TrackerHit) -1;
168 (*TrackerCollection)[ThitXID[NChannel]]->AddSil(edep);
173 if (PlaneName ==
"TKRDetectorY")
177 if (ThitYID[NChannel]==-1)
186 TrackerCollection->
insert(TrackerHit)-1;
190 (*TrackerCollection)[ThitYID[NChannel]]->AddSil(edep);
202 static G4int HCID = -1;
210 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)
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()
static G4SDManager * GetSDMpointer()
virtual G4int GetCopyNo() const =0
void EndOfEvent(G4HCofThisEvent *)
G4CollectionNameVector collectionName