CMS 3D CMS Logo

HcalTB02XtalNumberingScheme.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: HcalTestBeam
4 // Class : HcalTB02XtalNumberingScheme
5 //
6 // Implementation:
7 // Numbering scheme for crystal calorimeter in 2002 test beam
8 //
9 // Original Author:
10 // Created: Sun 21 10:14:34 CEST 2006
11 //
12 
13 // system include files
14 
15 // user include files
18 
19 //
20 // constructors and destructor
21 //
22 
25  edm::LogInfo("HcalTBSim") << "Creating HcalTB02XtalNumberingScheme";
26 }
27 
29  edm::LogInfo("HcalTBSim") << "Deleting HcalTB02XtalNumberingScheme";
30 }
31 
32 //
33 // member functions
34 //
35 
36 int HcalTB02XtalNumberingScheme::getUnitID(const G4Step* aStep) const {
37 
38  const G4VTouchable* touch = aStep->GetPreStepPoint()->GetTouchable();
39  int idx=touch->GetReplicaNumber(0);
40  int idl=0;
41  if (touch->GetHistoryDepth() > 0) idl = touch->GetReplicaNumber(1);
42  int idunit = idl*100 + idx;
43  LogDebug("HcalTBSim") << "HcalTB02XtalNumberingScheme:: Row " << idl
44  << " Column " << idl << " idunit = " << idunit;
45  return idunit;
46 }
#define LogDebug(id)
virtual int getUnitID(const G4Step *aStep) const