EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Cell.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file Cell.h
1 
2 #ifndef Cell_h
3 #define Cell_h
4 
5 // cell in composite calorimeter
6 
7 #include <Geant4/globals.hh>
8 #include <Rtypes.h>
9 
10 #include <set>
11 
12 class G4LogicalVolume;
13 class CompCal;
14 class OpDet;
15 class Detector;
16 class G4Step;
17 class G4TouchableHistory;
18 class G4VPhysicalVolume;
19 class TTree;
20 class RootOut;
21 
22 class Cell {
23 
24  public:
25 
26  Cell(const G4String& nam, G4int ix, G4int iy, G4int ncells, G4double zpos, G4double ypos, G4LogicalVolume *top, CompCal&, RootOut *rout);
27  virtual ~Cell() {}
28 
29  //from G4VSensitiveDetector
30  virtual G4bool ProcessHits(const G4Step *step, G4TouchableHistory*);
31 
32  //from Detector
33 // virtual void Add(std::vector<Detector*> *vec);
34  virtual const G4String& GetName() const {return fNam;}
35  //event and run from Detector
36  virtual void ClearEvent();
37  virtual void CreateOutput(TTree *tree);
38 
39  private:
40 
41  G4String fNam; // cell name
42 
43  //helper functios for TTree branches
44  void AddBranch(const std::string& nam, Double_t *val, TTree *tree);
45  void AddBranch(const std::string& nam, ULong64_t *val, TTree *tree);
46 
47  Double_t fE; //deposited energy in the cell
48  ULong64_t fNphot; // number of optical photons
49  ULong64_t fNscin; // scintillation photons
50  ULong64_t fNcerenkov; // Cerenkov photons
51 
52  G4int fScinType; // scintillation process type
53  G4int fScinSubType; // scintillation process subtype
54  G4int fCerenkovType; // Cerenkov process type
55  G4int fCerenkovSubType; // Cerenkov process subtype
56 
57  OpDet *fOpDet; // optical detector attached to the crystal
58 
59  CompCal& det; //ref to detector where this cell is included
60  friend class CompCal;
61  std::set<G4VPhysicalVolume *> m_PhysicalVolumes;
62 };
63 
64 #endif
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85