BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
Simulation/BOOST/SimUtil/SimUtil-00-00-37/SimUtil/BesSubdetector.hh
Go to the documentation of this file.
1//---------------------------------------------------------------------------//
2// BOOST --- BESIII Object_Oriented Simulation Tool //
3//---------------------------------------------------------------------------//
4//Descpirtion: abstract virtual class BES subdetector
5//Author: Liuhm
6//Created: May 14, 2003
7//Comment:
8//---------------------------------------------------------------------------//
9#ifndef BesSubdetector_H
10#define BesSubdetector_H 1
11
12class G4LogicalVolume;
13
14#include "GDMLProcessor.hh"
15#include "SAXProcessor.hh"
16#include "ProcessingConfigurator.hh"
17
19{
20 public:
22 virtual ~BesSubdetector(){;}
23
24 //construct your detector and position it in BES world volume
25 //You MUST derive your concrete class and implement it
26
27 virtual void Construct(G4LogicalVolume* bes) = 0;
28 G4LogicalVolume* FindLogicalVolume( const G4String& vn);
29
30 protected:
31// G4LogicalVolume* besWorld;
32 SAXProcessor m_sxp;
33 ProcessingConfigurator m_config;
34
35};
36
37inline
38G4LogicalVolume* BesSubdetector::FindLogicalVolume( const G4String& vn ) {
39 return const_cast<G4LogicalVolume*>( GDMLProcessor::GetInstance()->GetLogicalVolume(vn) );
40}
41
42#endif
43
44
45
46
47
48
49
50
51
52
G4LogicalVolume * FindLogicalVolume(const G4String &vn)
virtual void Construct(G4LogicalVolume *bes)=0