Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TVirtualMCSensitiveDetector.h
Go to the documentation of this file.
1 // @(#)root/vmc:$Id$
2 // Authors: Ivana Hrivnacova 19/04/2018
3 
4 /*************************************************************************
5  * Copyright (C) 2006, Rene Brun and Fons Rademakers. *
6  * Copyright (C) 2018 ALICE Experiment at CERN. *
7  * All rights reserved. *
8  * *
9  * For the licensing terms see $ROOTSYS/LICENSE. *
10  * For the list of contributors see $ROOTSYS/README/CREDITS. *
11  *************************************************************************/
12 
13 #ifndef ROOT_TVirtualMCSensitiveDetector
14 #define ROOT_TVirtualMCSensitiveDetector
15 
16 // Class TVirtualMCSensitiveDetector
17 // ---------------------------------
18 // Interface to a user defined particles stack.
19 //
20 
21 #include "TNamed.h"
22 
23 class TParticle;
24 
25 class TVirtualMCSensitiveDetector : public TNamed {
26 
27 public:
28  // Constructor
29  TVirtualMCSensitiveDetector(const char *name, const char *title = "");
30  TVirtualMCSensitiveDetector(const TString &name, const TString &title = "");
31 
32  // Destructor
33  virtual ~TVirtualMCSensitiveDetector();
34 
35  /// Initialize detector.
36  /// Called at initialization of geometry before MCApplication::InitGeometry().
37  virtual void Initialize() = 0;
38 
39  /// Process hits.
40  /// Called at each step when track pass through the associated volume
41  virtual void ProcessHits() = 0;
42 
43  /// End of event.
44  /// Called at end of event before MCApplication::FinishEvent().
45  virtual void EndOfEvent() = 0;
46 
47 protected:
48  // Default constructor
49  TVirtualMCSensitiveDetector();
50  // Copy constructor
51  TVirtualMCSensitiveDetector(const TVirtualMCSensitiveDetector &rhs);
52  // Assignment constructor
53  TVirtualMCSensitiveDetector &operator=(const TVirtualMCSensitiveDetector &rhs);
54 
55  ClassDef(TVirtualMCSensitiveDetector, 1) // Interface to a user sensitive detector
56 };
57 
58 #endif // ROOT_TVirtualMCSensitiveDetector