]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliSDConstruction.h
path to perl changes to /usr/bin/perl
[u/mrichter/AliRoot.git] / AliGeant4 / AliSDConstruction.h
CommitLineData
c926eee0 1// $Id$
2// Category: digits+hits
3//
7005154f 4// Author: I. Hrivnacova
5//
6// Class AliSDConstruction
7// -----------------------
c5141056 8// Mandatory (TGeant4) class providing method for creating
c926eee0 9// sensitive detectors.
10// It provides also methods for switching between lego
11// sensitive detectors and the standard ones.
12
13#ifndef ALI_SD_CONSTRUCTION_H
14#define ALI_SD_CONSTRUCTION_H
15
e980662a 16#include "AliVerbose.h"
17
c926eee0 18#include "TG4VSDConstruction.h"
19
20#include <globals.hh>
21
22class AliLego;
23class AliModule;
24
25class G4VPhysicalVolume;
26class G4LogicalVolume;
27
e980662a 28class AliSDConstruction : public TG4VSDConstruction,
29 public AliVerbose
c926eee0 30{
31 public:
32 AliSDConstruction();
33 virtual ~AliSDConstruction();
34
35 // methods
36 virtual void Construct();
37
38 void SetLego(AliLego* lego) const;
39 void UnsetLego() const;
40
41 private:
42 // methods
43 void InitializeModules();
44 AliModule* FindAliModule(G4LogicalVolume* lv) const;
45 void CreateSD(G4LogicalVolume* lv, AliModule* module) const;
46 void CreateLegoSD(G4LogicalVolume* lv, AliLego* lego) const;
47 void UnsetLegoSD(G4LogicalVolume* lv) const;
48};
49
50#endif //ALI_SD_CONSTRUCTION_H